Firebase Cloud Firestore 创建条目或更新(如果已存在)

Sof*_*123 3 firebase google-cloud-firestore

我不知道何时向 Firebase Firestore 数据库添加或更新条目。

doc_ref.set如果不存在,使用将添加一个文档。如果它已经存在并且 set 被调用,它还将覆盖所有文档字段。

doc_ref.update如果文档存在,使用将更新文档的字段。如果该文档不存在,则什么也不会发生。

如果该字段当前不存在,如何向文档添加新字段,或者如果该字段存在则更新该字段?我可以读取数据库并检查该字段是否存在,然后使用setupdate,但肯定有更简单的方法吗?

Fra*_*len 5

您正在寻找的是操作中的merge选项set。从设置文档的文档中

var cityRef = db.collection('cities').doc('BJ');

var setWithMerge = cityRef.set({
    capital: true
}, { merge: true });
Run Code Online (Sandbox Code Playgroud)

如果您不确定文档是否存在,请传递将新数据与任何现有文档合并的选项,以避免覆盖整个文档。