如何按角度抓取Firebase集合中的所有文档?

时间:2020-05-31 12:21:05

标签: angular typescript firebase google-cloud-firestore

我有一些代码可以抓取一个集合中的文档,但是似乎一次只能抓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)文档。

1 个答案:

答案 0 :(得分:3)

您只需要订阅集合内容的初始提取,然后获取该变量的长度即可。所以对我来说,我做到了:

const visitArray = this.afs.collection("visits").snapshotChanges();

    visitArray.subscribe(payload => {
        this.totalVisitCount = payload.length;
    });

然后将指定集合中的文档数存储在totalVisitCount中。