我需要计算Firebase数据库中的所有子代。
这是Firebase结构:
Level 1
- CHILD1
- - subchild1
- - subchild2
- CHILD2
- - subchild 1
我如何从1级起计算儿童数? (在此示例中,它需要返回2 ...)
答案 0 :(得分:1)
Query
在第一级,然后在SnapShot中使用:getChildrenCount()
。
因此query
将是这样的:
myRef.child("level1").child("subchild1"). // Your listener after
选中this link。
还有here。
答案 1 :(得分:0)
DatabaseReference mDatabaseRef = FirebaseDatabase.getInstance().getReference();
mDatabaseRef.child("level1").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot !=null)
long count= dataSnapshot.getChildren();
}
});
答案 2 :(得分:0)
尝试
FirebaseDatabase db = FirebaseDatabase.getInstance();
DatabaseReference ref = db.getReference();
ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.e(dataSnapshot.getKey(),dataSnapshot.getChildrenCount() + "");
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
答案 3 :(得分:0)
此代码将为您提供帮助。
(int)dataSnapshot.getChildrenCount()