如果我打印当前登录的用户
console.log(firebase.auth().currentUser.uid)
然后打印用户UID。
然后我尝试从firestore获取当前用户信息,执行
import firebase from 'firebase/app'
import "firebase/auth"
import db from '../firebase/firebaseInit'
async getCurrentUser(){
const database =
db.collection('users').doc(firebase.auth().currentUser.uid)
const dbResults = await database.get()
console.log(dbResults.data())
}
然后打印undefined
db.collection("users").where("userId", "==","pass the id you have")
.get()
.then((querySnapshot) => {
querySnapshot.forEach((doc) => {
console.log(doc.id, " => ", doc.data());
});
})
.catch((error) => {
console.log("Error getting documents: ", error);
});
-
您是否在firestore中设置了一个用户集合来存储用户?用户uid是否存储在其中?Firestore不会自动执行此操作,所以如果你没有设置,那么当然不会得到任何结果。
-
你的数据库设置正确吗?您是否能够使用当前数据库函数与其他方法连接到您的数据库?
也为最佳实践,这是一个好主意,将您的数据库重命名为docRef和dbResult到docSnap,而不是因为它是一个文档的引用!
如果用户id存储在集合中为userId
,则可以尝试:
db.collection('users').where('userId', '==', firebase.auth().currentUser.uid)