从Firebase dB查询

时间:2018-03-06 19:17:55

标签: java android firebase

我是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"
  }
}

我应该使用查询功能吗?或其他什么?

1 个答案:

答案 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