Cloud Firestore在NodeJS中使用merge:true不起作用。
Cloud Firestore在NodeJS中使用merge:true不起作用。
在Firestore文档中表示,如果我们想要合并数据,需要使用merge:true
,但它无效。
这是我的代码,非常类似于示例,它总是用新值替换旧存储的值
async function updateTotal() { const update = await db.collection("resources").doc(id).update({ "total": "500"}, { merge: true }) }
如果您有解决方案,请告诉我,我真的需要它
admin 更改状态以发布 2023年5月20日
如另一个答案所示:
这是nick-w-nick在他的评论中解释的内容。
这另一个答案更好地解释了每个选项的使用情况:
set
无merge
将覆盖文档或在不存在时创建它set
与merge
将更新文档中的字段或在不存在时创建它update
将更新字段,但如果文档不存在则会失败create
将创建文档,但如果文档已存在,则会失败
针对您在评论中解释的预期结果,您应该使用增量操作,如下所示:
您可以像以下示例中所示一样增加或减少数字字段值。增量操作将按给定数值增加或减少字段的当前值。
// Atomically increment the population of the city by 50. washingtonRef.update({ population: firebase.firestore.FieldValue.increment(50) });
另请参阅: