我正在尝试返回特定集合中的所有文档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删掉)。
如果我指定了丢失的文档.get.collection('Users').doc('UUID HERE')...
之一,它将读取该文档而不会出现问题。
这些文档中的大多数都是从IOS应用程序上载的,UID模板是我的(模糊不清)。如果我手动编辑文档,即添加一个额外的字段,等等,该文档将出现在搜索中,但是对于直接来自IOS应用程序的文档,除非专门说明,否则它们不会出现。
我不确定如何解决此问题,或者为什么会出现此问题。
答案 0 :(得分:0)
您看到的用斜体列出的文档(“ AB47 ...”和“ DCBC ...”)实际上不是集合中存在的文档。斜体表示在该文档ID下组织了带有其他文档的子集合。没有查询会匹配那些文档,因为它们不存在。您可能已删除它们而未删除所有子集中的所有文档。但是它们仍然在控制台中可见,因为您可能想要导航到它们的子集合。