Ваш phone
узел имеет только одно свойство phonenumber
.Чтобы найти свойство со значением, которое вы ввели, используйте:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("phone");
Query query = ref.orderByValue().equalTo("+923234022022");
Для использования orderByChild("phonenumber")
в запрашиваемом местоположении должно быть несколько дочерних узлов, каждый из которых, в свою очередь, имеет phonenumber
имущество.Итак, что-то вроде:
users: {
uidOfUser1: {
name: "Sikandar Niaz",
phonenumber: "5557273456"
},
uidOfUser2: {
name: "Frank van Puffelen",
phonenumber: "5554159410"
}
}
Теперь в приведенной выше структуре вы можете использовать orderByChild()
, чтобы найти дочерние узлы с определенным номером телефона:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("users");
Query query = ref.orderByChild("phonenumber").equalTo("5557273456");
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
System.out.println(userSnapshot.getKey())
System.out.println(userSnapshot.child("name").getValue(String.class))
}
}
...
Это будет печатать:
uidOfUser1
Сикандар Ниаз