mFirebaseInstance = FirebaseDatabase.getInstance();
mFirebaseRef = mFirebaseInstance.getReferenceFromUrl("https://c7d86.firebaseio.com");
mFirebaseRef.child("bloodgroup").equalTo("B+").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
getUpdate(dataSnapshot);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
getUpdate(dataSnapshot);
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
所以请帮助我,因为我是firebase的新学员,并且必须知道如何在此编写查询。
答案 0 :(得分:0)
Firebase数据库查询会评估执行查询的节点下的子项。因此,在您使用mFirebaseRef.child("bloodgroup")
的情况下,它会查找/bloodgroup
,然后查询其下的子项。由于没有/bloodgroup
,因此没有结果。
正确的代码:
mFirebaseRef = mFirebaseInstance.getReference();
DatabaseReference queryLocation = mFirebaseRef.child("the key under bloodfinder-c7d86 in the screenshot");
Query query = queryLocation.orderByChild("bloodgroup").equalTo("B+");
query.addChildEventListener(new ChildEventListener() {
@Override
请注意,我必须做一些猜测,因为你分享了JSON的图片。对于将来的问题,请将JSON共享为文本。您可以点击Firebase Database console。
中的“导出JSON”链接来获取此信息