Firebase Cloud Firestore读写数据



我正在尝试注册并将用户信息保存到firestore中。保存操作很好,但我想搜索那个信息,但什么都没发生。这是我的代码

注册

firestore
.collection("users")
.doc(user.userId)
.collection("profile")
.add({ ...user })
.then(() => {
auth.onAuthStateChanged((u) => {
if (u) {
u.updateProfile({
displayName: user.displayName,
});
}
});
});

获取所有用户数据

firestore
.collection("users")
.get()
.then(function (querySnapshot) {
querySnapshot.forEach(function (doc) {
//doc.data() is never undefined for query doc snapshots
console.log(doc.id, " => ", doc.data());
});
});

您应该能够通过使用与下面类似的代码来实现。它与您的非常相似,但有一些不同,我们将对数据库的引用分离,并让querySnapshot自行迭代,这样就可以返回数据。我通常使用这种格式来返回集合中的数据。

var db = admin.firestore()
var usersReference = db.collection("users");
usersReference.get().then((querySnapshot) => {
querySnapshot.forEach((userDoc) => {
console.log(userDoc.id)
var userDocData = userDoc.data()
console.dir(userDocData)
})
})

这应该是有效的,所以,如果它没有返回任何东西,可能你的保存操作没有正常工作。这将返回用户的id和来自它的全部数据

最新更新