Firebase数据库 - 统计父节点中的子节点数量

10 浏览
0 Comments

Firebase数据库 - 统计父节点中的子节点数量

我需要测量Firebase中一个元素或列表的大小/长度,但我不需要实际的内容。

类似于 firebase.database().ref("users/").once("length" || "size").then(callback)

JavaScript SDK

0
0 Comments

这是一个关于Firebase数据库中计算父节点中子节点数量的问题。问题的原因是,帖子中提供的解决方法不符合问题的要求。解决方法是使用Object.keys(users).length;来计算对象users中键的数量。然而,问题中明确指出不需要真正的内容,而users变量中包含了实际的内容。因此,使用这种方法是错误的解决方案。

0
0 Comments

在Firebase中,没有提供计数操作符,所以唯一的方法是下载所有子节点或者在同步中保留一个单独的<children>_count属性。后者不是一个简单的任务(可以参考我在这里的答案示例云函数),所以大多数开发者最终选择下载太多数据但是简单的方法:

ref.child("messages").on("value", function(snapshot) {
  console.log("There are "+snapshot.numChildren()+" messages");
})

更高效的计数子节点的方法是使用带有shallow=true参数的REST调用,这将只返回键。可以参考在Firebase中,有没有一种方法可以获取一个节点的子节点数量而不加载整个节点数据?

0