我有一些代码可以抓取一个集合中的文档,但是似乎一次只能抓15个(据我看来),我试图使用此列表来确定该集合中的文档总数。我正在创建的程序。我必须能够从一开始就知道指定集合中有多少个文档。
这是代码的开头,很明显,var将要注册的限制是15,然后我永远无法获得准确的数字。
getStatistics(): void{
const visitArray = this.afs.collection("visits").snapshotChanges();
//console.log([this.afs.collectionGroup("visits")].length);
this.k = 0;
for (let val of visitArray.toString()){
this.k += 1;
console.log(this.k);
}
}
是否有一种方法可以从一开始就获取集合的“长度”?从一开始就知道文档中的文档数量至关重要。
我也尝试使用.get()命令,它从集合中返回了相同的初始编号(15)文档。
答案 0 :(得分:3)
您只需要订阅集合内容的初始提取,然后获取该变量的长度即可。所以对我来说,我做到了:
const visitArray = this.afs.collection("visits").snapshotChanges();
visitArray.subscribe(payload => {
this.totalVisitCount = payload.length;
});
然后将指定集合中的文档数存储在totalVisitCount中。