Ваша структура базы данных не будет поддерживать orderByChild()
с верхнего узла.Таким образом, вам нужно установить ссылку на вашу базу данных до узла food
, а затем вы можете использовать запрос orderByChild()
, чтобы найти дочерние элементы с определенным stallID
.
. В коде это будет выглядеть примерно так:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Requests").child("1542..").child("foods");
ref.orderByChild("stallID").equalTo(stallIDYouWant).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()){
// do here what you wanted
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
// ToDo: don't ignore this, do something for errors
}
)};
Это на самом деле не очень вам поможет, потому что вам придется устанавливать это для каждого уникального идентификатора в вашей структуре базы данных.
Так что лучше сделать здесьваша база данных отличается.Чтобы узнать, как сделать вашу структуру подходящей для этой операции, см. этот ответ.