【问题标题】:Firebase counting the number of records in real timeFirebase 实时统计记录数
【发布时间】:2015-03-01 06:47:17
【问题描述】:

我正在尝试实时计算表中的记录数,而无需加载每条记录的开销。进一步澄清:我只需要知道记录数而不是内容。

【问题讨论】:

标签: firebase


【解决方案1】:

我认为您正在寻找 numChildren(),这是来自 Firebase APi 的文档。

https://www.firebase.com/docs/web/api/datasnapshot/numchildren.html

【讨论】:

  • 由于这个方法是在DataSnapshot上定义的,所以只有在所有的children都加载完毕后才能使用。
  • @FrankvanPuffelen 是的,没错。我在答案中添加了一个代码示例。谢谢。
  • @FrankvanPuffelen 您确定 dataSnapshot 包含所有子元素吗?
  • 这取决于您如何获得DataSnapshot。但是为了能够迭代(或计数)孩子,它必须来自on('value,它将检索所有孩子。如果您看到的不是他的行为,请分享您的代码 sn-p (fiddle/bin/plunkr)。
  • 你能告诉我如何在新的 firebase 中做同样的事情吗?
【解决方案2】:
ref.once("value", function(snapshot) {
  console.log("Count!", snapshot.numChildren());
});

【讨论】:

  • 请随意扩展您的答案。更具体地说,简要说明您提出的解决方案的作用,解决问题的原因,以及在这种情况下,它与已经给出的投票率低且几乎相同的答案有何不同。
  • 请为您的回答提供解释。请务必解释您的解决方案是如何工作的,以便读者理解答案。
猜你喜欢
  • 1970-01-01
  • 2018-11-15
  • 1970-01-01
  • 2011-12-26
  • 2021-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多