按照firestore的官方文档:
{
name: "Frank",
favorites: { food: "Pizza", color: "Blue", subject: "recess" },
age: 12
}
// To update favorite color:
db.collection("users").doc("frank").update({
"favorites.color": "Red"
})
我想使用动态键而不是颜色。
db.collection("users").doc("frank").update({
"favorites[" + KEY + "].color": true
});
这当然是不可能的,会抛出错误。
我一直在尝试这样做:
db.collection("users").doc("frank").update({
favorites: {
[key]: {
color": true
}
}
});
它实际上是用正确的 key 更新,但不幸的是,它正在覆盖其他 key (它们正在被删除)。
最佳答案
我找到了受 firebase 解决方案启发的解决方案(将“/”替换为“.”)。
var usersUpdate = {};
usersUpdate[`favorites.${key}.color`] = true;
db.collection("users").doc("frank").update(usersUpdate);
关于javascript - 云 Firestore : Update fields in nested objects with dynamic key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47295541/