我是Firebase的新用户,想知道如何根据一个特定值(如名称)检索所有条目。我的数据库是这样的:
{
"-L6wXAM4Yt6OeUx6kLM9" : {
"date" : "Tue Mar 06 14:17:53 GMT-04:00 2018",
"names" : "Raamon"
},
"-L6wXAM84ti-Ea0vzKfx" : {
"date" : "Tue Mar 06 14:17:53 GMT-04:00 2018",
"names" : "Anne"
},
"-L6whnSSZXHxdjPvGgKI" : {
"date" : "Tue Mar 06 15:08:41 GMT-04:00 2018",
"names" : "Anne"
}
}
我的规则:
{
"rules": {
".read": "auth == null",
".write": "auth == null"
}
}
我应该使用查询功能吗?或其他什么?
答案 0 :(得分:1)
试试这个:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
Query q = ref.orderByChild("names").equalTo(Raamon);
q.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
String dates=datas.child("data").getValue().toString();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
使用一个等于name
的特定值Raamon
,然后您可以检索与其相关的date
。