[英]Cloud Firestore collections queries not working
由於Cloud Firestore是新的,我在使用它時遇到了問題。
我必須得到所有用戶的 集合並遍歷它。 但它沒有用。
db.collection("users").get().then(function(querySnapshot){
console.log(querySnapshot.data());
});
它說:
querySnapshot.data不是一個函數
以下代碼:
callFireBase(mobileToCheck){
db.collection("users").where("mobile_no", '==', mobileToCheck).get().then(function(querySnapshot){
if (querySnapshot.exists) {
var userData = querySnapshot.data();
var userId = querySnapshot.id;
console.log(mobileToCheck + "Exist In DB");
}else{
console.log(mobileToCheck + "Do Not Exist In DB");
}
});
}
總是打印
923052273575在DB中不存在
即使存在,請參閱以下圖像以供參考。
我認為你有一些困惑,因為querySnapshot沒有data
,但它確實有擁有數據的docs
。
在第一個示例中,您要求它返回集合中的所有文檔。 你會想要這樣的東西:
db.collection("users").get().then(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
console.log(doc.id, " => ", doc.data());
});
});
關鍵區別在於循環querySnapshot
的文檔和控制台記錄每個文檔中的數據。
對於第二個示例,您需要檢查querySnapshot
是否為空,而不是檢查它是否存在。
db.collection("users").where("mobile_no", "==", mobileToCheck)
.get()
.then(function(querySnapshot) {
if (querySnapshot.exists) {
querySnapshot.forEach(function(doc) {
console.log(doc.id, " => ", doc.data());
var userData = doc.data()
var userId = doc.id
console.log(mobileToCheck + "Exist In DB");
});
} else {
console.log(mobileToCheck + "Do Not Exist In DB");
};
})
.catch(function(error) {
console.log("Error getting documents: ", error);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.