首页 > 解决方案 > 获取 Firebase 网络中的孩子数

问题描述

有没有办法获取firebase节点中的子节点数量,因为我想执行循环功能。我想知道照片下面有多少个孩子。

   usernames = database.child("Item_features").get()
   for user in usernames.each():
   userid = user.key()
   dtls = database.child("Item_features").child(userid).child('model').get().val()
   if dtls == imodel:

   data = {"picture": picture}

 database.child("Item_features").child(userid).child("picture").push(data)

标签: pythonfirebase-realtime-database

解决方案


大多数平台的 Firebase SDK 都有一个numChildren方法可以返回给定快照下的子节点数。但据我在参考文档中看到的,调用get()只为您提供来自该位置的 JSON,而不是诸如子节点数量之类的元数据。这意味着您必须自己计算它们。

请注意,在所有平台上,您都需要读取所有数据才能调用numChildren(),因为 Firebase 没有 SQL 中的计数查询之类的概念。如果您希望能够仅读取计数,则需要自己将该计数单独存储在数据库中。


推荐阅读