仅当尚未设置Firestore文档中的字段值时才设置

时间:2019-05-30 22:54:00

标签: javascript firebase google-cloud-firestore

我有一个集合,其文档如下所示:

count: number
first: timestamp
last: timestamp

first值在文档创建后应该(几乎)永远不会改变。

在批量写入操作中,我试图更新此集合中的文档,或创建尚不存在的那些文档。像

batch.setData([
    "count": FieldValue.increment(someInteger),
    "first": someTimestamp,
    "last": someTimestamp
    ], forDocument: someDocumentRef, mergeFields: ["count","last"])

我的希望是,通过从first数组中排除mergeFields,Firestore可以将countlast合并到现有的目录中文档或制作一个新文档,并仅当first没有上一个值时(即,该操作之前该文档不存在)设置。现在我很清楚情况并非如此,相反first被完全忽略了。现在,我想知道Firestore团队针对这种情况打算做什么。

我知道我可以通过事务来实现这一点,但是这与我的批处理写入并不太紧密。是我唯一的选择,还是有更好的方法来实现这一目标?

0 个答案:

没有答案