【发布时间】:2019-10-11 08:01:14
【问题描述】:
在 Firestore 中更新文档时,我想保留大部分文档,但更改一个包含对象的属性。
我有什么
{
name: "John Doe",
email: "me@example.com",
friends: {
a: {...},
b: {...},
c: {...},
d: {...},
e: {...},
f: {...},
}
}
现在,我有一个新的朋友对象,例如 {x: ..., y: ..., z: ...}
我想覆盖文档的 friends 树,但保留所有其他字段。
我想要的样子
{
name: "John Doe",
email: "me@example.com",
friends: {
x: {...},
y: {...},
z: {...},
}
}
但是,如果我做一个firestore.doc(...).update({friends: {...}}, { merge: true })
我目前得到的
{
name: "John Doe",
email: "me@example.com",
friends: {
a: {...},
b: {...},
c: {...},
d: {...},
e: {...},
f: {...},
x: {...},
y: {...},
z: {...},
}
}
我知道我可以做两次更新,即删除字段然后重新设置,或者我可以读取文档,更改对象并保存而不合并。
但是是否有一种聪明的方法可以覆盖对象(地图),同时保持文档的其余部分不受影响?
【问题讨论】:
标签: javascript firebase google-cloud-firestore