如何获取具有相同类别值的子项(例如“ 1234”和“ fdsasda”)。
让我们说我想知道类别C中有多少项,我将如何使用值事件侦听器继续进行下去。
// removed unimportant things
"1234" : {
"category" : "C",
},
"fdsasda" : {
"category" : "B",
},
答案 0 :(得分:1)
为此,首先必须确保根节点与结构中显示的这些子节点之间没有父节点。
然后您可以做的是,使用orderByChild()
和子category
对数据库进行排序,然后使用equalTo()
将其与所需的值进行比较并计算出现的次数。
我的意思在代码中看起来像这样:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.orderByChild("category").equalTo("C");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
long count = dataSnapshot.getChildrenCount();
Log.d("TAG", count + "");
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d(TAG, "onCancelled", databaseError.toException());
}
});