认证后我尝试在/users/查找一个用户文档,然后我想用auth对象的数据和一些自定义用户属性更新文档。但是我得到一个错误,即update方法不存在。有没有办法更新单个文档?所有的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"})
});
})
6条答案
按热度按时间zf9nrax11#
您可以精确地执行以下操作(https://firebase.google.com/docs/reference/js/v8/firebase.firestore.DocumentReference):
也可以查看官方文档
plicqrtu2#
检查用户是否已经在那里,然后简单地
.update
,或者.set
,如果没有:dffbzjpn3#
--更新防 Firebase 座V9 --
在较新版本的Firebase中,这是这样完成的:
raogr8fs4#
在原始代码中更改此行
到这个
应该可以
but a better way is to use batch write: https://firebase.google.com/docs/firestore/manage-data/transactions#batched-writes
yr9zkbsy5#
正确的做法如下:要在snapshot对象中执行任何数据操作,我们必须引用.ref属性
kzmpq1sx6#
您只需要找到文件的官方ID,代码在这里!