I want to get all the items which have same league id
我想在team节点中获取所有具有相同联赛ID的物品,并且在该节点中我具有按钮,然后有一个对象,可以使用Firebase查询,如果有人知道它,请帮忙。链接到图像-> https://i.stack.imgur.com/XzJo2.jpg
结果为> System.out:LOG DataSnapshot {键=组,值= null}
val query = databaseRef.child("teams").orderByChild("leagueId").equalTo("LS9t7MgdIuHrDP0vEME")
query.addListenerForSingleValueEvent(object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
println("LOG $dataSnapshot")
}
override fun onCancelled(databaseError: DatabaseError) {
}
})
答案 0 :(得分:1)
要获取teams
节点中与特定ID对应的所有项目,请使用以下代码行:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("teams").orderByChild("leagueId").equalsTo(desiredId);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String team = ds.child("team").getValue(String.class);
Log.d(TAG, team);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
query.addListenerForSingleValueEvent(valueEventListener);
其中desiredId
的值应为-LS9t ... vEME
。 logcat中的输出将是ID等于-LS9t ... vEME
的所有团队的名称。