我的Cloud Firestore看起来像这样:
users
├────random_id_1───{name, email, ...}
├────random_id_2───{name, email, ...}
...
└────random_id_n───{name, email, ...}
我想更新 users 的文档,因为我有一个唯一的标识符,该标识符不是文档的随机ID(例如,名称是唯一的,并且我想使用它作为标识符)。
如何更新按字段标识的文档?
答案 0 :(得分:0)
Firestore只能更新其知道完整参考的文档,该文档需要文档ID。在当前结构上,您将必须运行查询以查找文档。像这样:
firebase.firestore().collection("users")
.where("name", "==", "Daniel")
.get(function(querySnapshot) {
querySnapshot.forEach(function(document) {
document.ref.update({ ... });
});
});
如果您还有另一个唯一的属性,我总是建议您使用该属性作为文档的ID。这样,您将自动保证每个用户只能存在一个文档,并且省去了查询来查找文档的麻烦。