如果文档不存在,angularfire6文档更新命令会失败吗?

时间:2020-11-01 20:59:13

标签: javascript google-cloud-firestore angularfire

当前的angularfire文档(Angularfire 6.0.4,2020年3月30日最新提交d91965e)仅在处理文档时这样说:

AngularFirestore提供了用于设置,更新和删除的方法 文档数据。

set(data:T)-以破坏性的方式更新文档的数据。

update(data:T)-无损更新文档的数据。

delete()-删除整个文档。不删除任何嵌套 集合。

当直接与Firebase交互时(即不使用angularfirestore),firebase很清楚,如果文档不存在,更新将失败;必须对新文档使用set操作(如果存在文档,则可能使用{merge:true}选项作为安全保护措施)。

如果文档不存在,Angular Firestore update(data: T)命令会做什么?

1 个答案:

答案 0 :(得分:0)

update()将失败,因为该文档不存在。

如果您需要在一项操作中创建或更新,而该操作无论文档是否已存在都不会失败,则应该use set() and pass { merge: true } to it as the second argument。或者,您可以根据get()返回的内容,使用事务进行原子性的获取和设置操作。