如何在AngularFire2中获取键的计数或键



我有以下壁炉数据结构:

-posts
    -postKey1
        +commentKey1
        +commentKey2
        +commentKey3

我需要获取给定帖子密钥的特定帖子的注释数。因此,上面的数据应返回postKey1。

据我所知,如果不下载您要计算的数据,就无法执行计数。

相反,您可以使用AngularFire2检索postKey1下的所有数据,然后可以计算检索到的帖子。或者,如果您愿意付出努力,则可以使用REST API,指定shallow参数仅检索postKey1下的键 - 然后您可以计数。

计数评论数的方法在HTML文件中的循环中调用。

...
<label>{{getCommentCount(post.$key)}} </label>
...

这是对我有用的实现。numChildren()方法可以做到这一点。另外,我认为preserveSnapshot似乎消除了我遇到的错误(例如,无限的呼叫/获取,结果不足以在浏览器中错误的资源错误)。

  getCommentCount(postKey: string) : number{
    let commentCount = 0;
    let url = `/posts/${postKey}`;
    const posts = this.af.database.object(url, { preserveSnapshot: true });
    posts.subscribe(snapshot => {
      commentCount = snapshot.numChildren();
    });
    return commentCount;
  }

相关内容

  • 没有找到相关文章

最新更新