【问题标题】:I can't set field to NULL on flutter firestore我无法在颤振 Firestore 上将字段设置为 NULL
【发布时间】:2021-06-09 06:53:58
【问题描述】:

我使用 JSON 序列化将文档上传到 Firestore。

我刚刚将我的颤振项目更新为 nullsafety,现在我在任何 NULL 字段上都收到此错误:

错误:[cloud_firestore/unknown] 需要一个“Object”类型的值,但得到一个“Null”类型的值

我在课堂上的字段是空的:

字符串?字段;

这是一个错误还是我做错了什么? 在此更新之前,我能够拥有空字段。我使用网络构建

【问题讨论】:

    标签: flutter google-cloud-firestore flutter-web dart-null-safety


    【解决方案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?字段;
    • 这是您的选择。我认为它应该可以工作,但你应该检查一次
    猜你喜欢
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 2018-05-24
    相关资源
    最近更新 更多