Нельзя использовать следующий запрос:
databaseReferenceGV.orderByChild("groupVaccinationID/allVaccinated").equalTo(false);
Поскольку между узлом groupVaccinationID
и свойством allVaccinated
есть еще два дочерних элемента: -LXiM ... BX9x
и -LZk5 ... j8Vz
.Чтобы решить эту проблему, вы можете выполнить итерацию объектов DataSnapshot
дважды, используя метод getChildren()
(как вы уже делаете), но в этом случае требуется только следующий запрос:
databaseReferenceGV = FirebaseDatabase.getInstance().getReference("groupVaccinations");
Затем создайте оператор ifсторона клиента:
if(!groupVaccination.getAllVaccinated()) {
groupVaccinationList.add(groupVaccination);
}
Или вы можете изменить структуру базы данных, чтобы разрешить запрос, основанный только на одном динамическом узле.