Firebase查询不会返回所有文档

时间:2020-03-04 02:01:05

标签: javascript firebase google-cloud-firestore

我正在尝试返回特定集合中的所有文档ID。我正在用Javascript编写Web应用程序。 我做了这个函数,并在需要的地方调用它。

function getUserList() {
    var rootRef = firebase.database().ref();
        var db = firebase.firestore();
        //var docRef = db.collection("Users");//.doc(getUserID()).collection("userControl").doc("UserStatus") //EXAMPLE: /Users/UUID/userControl/UserStatus

        db.collection('Users')
        .get().then(function(querySnapshot) {
            size = querySnapshot.size // will return the collection size
            console.log(size);
            querySnapshot.forEach(function(doc) {
               console.log(doc.id);

            });
        });
}

但是,当我检查控制台日志中的数据时,我只看到8个文档中的6个。共有8个文档,但是doc.id的计数和日志仅显示6.。可以在屏幕快照中看到(由于原因而将一个ID删掉)。

enter image description here

如果我指定了丢失的文档.get.collection('Users').doc('UUID HERE')...之一,它将读取该文档而不会出现问题。

这些文档中的大多数都是从IOS应用程序上载的,UID模板是我的(模糊不清)。如果我手动编辑文档,即添加一个额外的字段,等等,该文档将出现在搜索中,但是对于直接来自IOS应用程序的文档,除非专门说明,否则它们不会出现。

我不确定如何解决此问题,或者为什么会出现此问题。

1 个答案:

答案 0 :(得分:0)

您看到的用斜体列出的文档(“ AB47 ...”和“ DCBC ...”)实际上不是集合中存在的文档。斜体表示在该文档ID下组织了带有其他文档的子集合。没有查询会匹配那些文档,因为它们不存在。您可能已删除它们而未删除所有子集中的所有文档。但是它们仍然在控制台中可见,因为您可能想要导航到它们的子集合。

相关问题