用Java计算Firebase数据库节点

时间:2018-10-28 19:28:02

标签: java android firebase firebase-realtime-database

是否有一种简单的方法可以计算Java中特定数据库中的节点数?

例如,我有一个包含所有当前打开的游戏的数据库,看起来像这样。

openGames {
    game 1:
       Creator username:
       Players joined:
       Game type:
    game 2:
       Creator username:
       Players joined:
       Game type:
}

因此,对于实时数据库中的这种情况,是否可以计算游戏数量?因此,这只是一种计算数据库中第一个孩子的方法。在这种情况下,它将返回数字2。

1 个答案:

答案 0 :(得分:1)

您可以使用getChildrenCount();

DatabaseReference reference = database.getReference("openGames");

reference.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
         int nodes = (int) dataSnapshot.getChildrenCount();
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
}

如果我没记错的话,这应该得到节点的数量。