答案 0 :(得分:0)
如果您要查找的值始终在0/TPEID
中,则可以使用查询来查找包含该值的节点,方法是:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference(...);
Query query = ref.orderByChild("0/TPEID").equalTo("869688030960688");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot tpeSnapshot: dataSnapshot.getChildren()) {
System.out.println(tpeSnapshot.getKey()); // Tpe0
System.out.println(tpeSnapshot.child("0/TPEID").getValue(String.class)); // 869688030960688
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
}
如果该值不是每个子项下的固定路径,您将无法使用Firebase查询进行搜索。在这种情况下,请参见Firebase Query Double Nested,firebase get url by nested child id for tree like,Firebase query if child of child contains a value