【发布时间】:2018-09-15 20:44:36
【问题描述】:
身份验证后,我尝试在 /users/ 中查找用户文档,然后我想使用来自 auth 对象的数据以及一些自定义用户属性来更新文档。但是我收到更新方法不存在的错误。有没有办法更新单个文档?所有 firestore 文档示例都假定您拥有实际的文档 ID,并且它们没有任何使用 where 子句查询的示例。
firebase.firestore().collection("users").where("uid", "==", payload.uid)
.get()
.then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
console.log(doc.id, " => ", doc.data());
doc.update({foo: "bar"})
});
})
【问题讨论】:
-
为什么不使用
uid作为存储数据的实际文档ID呢?这让这个问题变得简单多了。 -
这真是个好主意。这就是解决方案。由于典型应用程序数据库中的所有内容都将具有与特定用户相关的内容,这在许多关系数据库设计中很常见。我会为 firebase/firestore 推荐一个文档或教程。创建一个单独的 /users 集合并使其与 firebase Auth 用户保持同步并不是那么直观。
-
我认为这里接受的答案是:stackoverflow.com/questions/55714423/… 是你要找的
标签: javascript firebase google-cloud-firestore