【发布时间】:2021-04-04 16:16:45
【问题描述】:
我有一个要更新的 Firestore 文档。这是我的代码 -
admin.firestore().collection('testResult').doc(`${testId}`).set(
{
name: userName,
email: email,
},
{ merge: true },
);
我正在使用带有“merge: true”对象的“set”方法。因为我想创建一个新文档,如果它不存在并更新数据,如果它存在。
我尝试更新的文档正在被我发送的新属性重写,而不是在现有文档中附加数据。我读到使用{merge: true} 会将传入数据与当前数据合并,但这不起作用。我的整个文档正在被新数据替换。
这是我第一次创建文档时的 firestore 集合 -
当我更新它时,这是同一个文档 -
【问题讨论】:
-
代码乍一看还不错。您可以编辑您的问题以显示此代码运行之前和之后的文档截图吗?
-
当然。我应该以前做过。
-
你为什么不用
update()来更新数据? -
因为如果集合不存在,那将会失败。如果尚未创建,我想创建一个新集合。如果集合已经存在,则更新它。
标签: javascript database firebase google-cloud-firestore