Значение возвращает ноль при поиске значения с использованием запроса firebase android studio - PullRequest
0 голосов
/ 19 февраля 2020

Я хочу спросить, поэтому я хочу найти значение, которое является штрих-кодом ID на firebase. Я пробую поиск по stackoverflow, который использует этот строковый код.

 tindakan = FirebaseDatabase.getInstance().getReference("tindakan");
 bedahMulut = tindakan.child("Bedah Mulut");

 Query searchByID = tindakan.orderByChild("ID").equalTo(idBarcode);

 searchByID.addValueEventListener(new ValueEventListener() {
     @Override
     public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
         for (DataSnapshot idSnapshot : dataSnapshot.getChildren()) {
             Log.v("hasil", "Found! -> " + idSnapshot.child("ID").getValue(String.class));
         }
     }

     @Override
     public void onCancelled(@NonNull DatabaseError databaseError) {
         Log.v("hasil", databaseError.toException().toString());
     }
 });

, но этот код возвращает значение null, я уже опубликовал структуру firebase и сеанс отладки ниже. Пожалуйста, помогите мне заранее, спасибо:)

here is structure on firebase

Debug session, that are showing null value

1 Ответ

0 голосов
/ 19 февраля 2020

Похоже, вы пытаетесь запросить глубоко вложенную структуру данных, что невозможно. Запросы базы данных Firebase Realtime работают в виде плоского списка, где заказываемое / фильтруемое свойство / значение находится по фиксированному пути под каждым прямым дочерним узлом.

Решение, как правило, заключается в создании дополнительной структуры данных, в которой вы храните простой список идентификаторов, а затем значением является путь к узлу, который имеет этот идентификатор.

"IDs": {
  "INLAY": "/tindakan/Konservasi/Inlay/Kelas -"
}

См.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...