【问题标题】:Cloud Firestore: Add Field Value To DocumentCloud Firestore:将字段值添加到文档
【发布时间】:2020-04-25 11:33:13
【问题描述】:

我想创建一个名为 question_count 的字段值,我想增加该值并将其添加到我的云 Firestore 文档中。我已经试过了:

document_reference.update("question_count", FieldValue.increment(1))

问题:我必须手动将 question_count 字段添加到我的云 Firestore 文档中,然后上面的代码将增加该值。 Cloud Firestore Dashboard 我想要什么:有人告诉我,如果尚未在云 Firestore 中创建字段值,则使用 DocumentReference update(...) 并指定字段值将创建字段值.这是一个错误的假设吗?

【问题讨论】:

    标签: java android firebase kotlin google-cloud-firestore


    【解决方案1】:

    update 方法仅在文档已经存在时有效。如果您要执行 要么 创建文档 在文档已存在时更新它的写入,请使用 docRef.set(..., SetOptions.merge())

    所以在你的情况下,类似:

    // Update one field, creating the document if it does not already exist.
    Map<String, Object> data = new HashMap<>();
    data.put("question_count", FieldValue.increment(1));
    
    document_reference.set(data, SetOptions.merge());
    

    另请参阅writing data 上的文档。

    【讨论】:

    • 跟进:我明白为什么我第一次创建文档时它不起作用。但是创建文档后更新方法仍然不起作用...您对此有何看法?
    • 这听起来不会发生:一旦文档存在,更新应该可以工作。让我知道您是否可以重现该问题。
    猜你喜欢
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 2019-02-02
    • 1970-01-01
    相关资源
    最近更新 更多