我希望借助其子值
获取推送键答案 0 :(得分:1)
假设您拥有代理商名称,那么您可以创建Firebase数据库查询以查找具有该代理商名称的匹配子节点:
DatabaseReference ref = FirebaseDatabase.getInstance();
Query query = ref.orderByChild("agencyname").equalTo("Babaji");
query.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) {
Log.d(TAG, "onChildAdded:" + dataSnapshot.getKey()+" "+ dataSnapshot.getChild("agencyname").getValue());
}
...
对于onChildAdded
等于agencyname
的每个节点,都会调用上面的Babaji
方法。
我建议您花一些时间在Firebase文档中,特别是dealing with lists of data和querying上的部分。
答案 1 :(得分:0)
您也可以使用
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
Query query = mDatabase.child("suppliersdata");
query.orderByChild("agencyname").equalTo("Babaji").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
Log.i("db", "onDataChange: Key : " + childSnapshot.getKey());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException(); // never ignore errors
}
});