我实际上有2个问题:
如何从第一个用户到最后一个用户反复获取所有用户名的名称?
如何从一个ID检索所有兄弟节点的数据。假设我输入xyz
,查询应该返回number:99, car1
....等等。
User1{
name: xyz
number: 99...
car1{ regno: 123
make: ghj }
car2{.....}
}
User2{..... }
答案 0 :(得分:1)
Q1>如何从第一个用户到最后一个用户重复获取所有用户名的名称?
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
String names=datas.child("name").getValue().toString();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
这里有Users
处的快照,然后在每个用户内部进行迭代并检索名称,假设您具有以下数据库:
Users
user1
name:xyz
user2
name: xziq
Q2>如何从一个ID检索所有同级节点中的数据(假设我输入xyz,查询应返回数字:99,car1 ....等)
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Users");
Query queries=ref.orderByChild("name").equalTo("xyz");
queries.addListenerForSingleValueEvent(new ValueEventListener() {...}
要检索兄弟节点,则需要使用类似orderByChild("name").equalTo("xyz")
的查询,然后附加一个侦听器并检索其他节点。