我无法在颤振 Firestore 上将字段设置为 NULL
Posted
技术标签:
【中文标题】我无法在颤振 Firestore 上将字段设置为 NULL【英文标题】:I can't set field to NULL on flutter firestore 【发布时间】:2021-06-09 06:53:58 【问题描述】:我使用 JSON 序列化将文档上传到 Firestore。
我刚刚将我的颤振项目更新为 nullsafety,现在我在任何 NULL 字段上都收到此错误:
错误:[cloud_firestore/unknown] 需要一个“Object”类型的值,但得到一个“Null”类型的值
我在课堂上的字段是空的:
字符串?字段;
这是一个错误还是我做错了什么? 在此更新之前,我能够拥有空字段。我使用网络构建
【问题讨论】:
【参考方案1】:由于新的 null 安全功能,新的 Cloud Firestore 库无法存储 null 值。我建议您使用关键字,例如空格或复杂的字符串作为您的自定义空变量,这应该可以工作 声明
String newNull = 'IntricateNull';
传递到 Firestore
'nullValue':newNull
接收数据时使用
if (value != newNull)//To check value is not null
这不是一个有利的解决方案,但它就是这样。空安全有其缺点和优点。
【讨论】:
你是对的,存储空值似乎是不可能的。我的解决方案是像这样使用 JsonKey:@JsonKey(includeIfNull: false) String?字段; 这是您的选择。我认为它应该可以工作,但你应该检查一次以上是关于我无法在颤振 Firestore 上将字段设置为 NULL的主要内容,如果未能解决你的问题,请参考以下文章