Firestore 设置文档,合并选项为 true 或更新文档

Dod*_*ody 8 node.js firebase google-cloud-firestore

我必须更新现有 Firestore 文档中的单个字段。

不过,我不知道使用之间是否有什么区别

admin.firestore().doc('doc_id').set({name:'Bill'},{ merge: true })
Run Code Online (Sandbox Code Playgroud)

或者

admin.firestore().doc('doc_id').update({name:'Bill'})
Run Code Online (Sandbox Code Playgroud)

如果文档是:

{
  name: Bart,
  age: 18
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,应该.update(...)只更新该字段而不删除“年龄”字段吗?

Dou*_*son 12

对于现有文档,这两个选项没有区别。

它们之间的差异仅对于不存在的文档才明显。 set()with merge 如果文档不存在则创建该文档,update()如果不存在则失败。