簡體   English   中英

Cloud Firestore集合查詢無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM