计算来自Firebase实时数据库的阵列中的条目数量

时间:2019-02-12 08:36:06

标签: typescript

我在Firebase上有一个实时数据库,我想计算JSON对象中的条目数量。因为我有一个“ id”字段,这将用作添加参数到新条目中。我将检索新条目的计数和增量。

我可以订阅数据库并检索我的JSON对象并将其输出到控制台窗口,但是我真的只需要对条目进行计数并且不知道这样做的最佳/推荐方式是什么,或者是否确实是首选方法。

public getJSON(): Observable<any>{
    return this.http.get(_jsonURL)
}
this.getJSON().subscribe(data =>{
    console.log(data)
})

因此,从获取JSON数据开始,我认为我可以计算该调用中的条目。但是下一步该怎么做。

1 个答案:

答案 0 :(得分:0)

如果只想获得商品的 count 个,则可以map从数组到其长度的响应。

要首先使用pipe运算符,请将map放入其中。整个过程看起来像这样

public getJSON(): Observable<number>{
    return this.http.get(_jsonURL).pipe(
        map(x => x.length)
    );
}

编辑

要在您的代码中使用此代码,可以使用来自getJSON() result 并增加某个变量(在我的示例中为totalCount)以保持总数

let totalCount = 0;

this.getJSON().subscribe(count => {
    console.log(`returned count = ${count}`);

    totalCount += count;
});