Как запросить Google Cloud Firestore с несколькими условиями? ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Как запросить Google Cloud Firestore с несколькими условиями?

Сообщение Anonymous »

Я хочу создать запрос для Google Cloud Firestore на основе нескольких условий. Вот код, который у меня есть:

Код: Выделить всё

FirebaseFirestore db = FirebaseFirestore.getInstance();
Query someQuery = db.collection("someCollection");

if (someBoolean) {
someQuery = someQuery.whereEqualTo("SomeField", "SomeValue");
}

if (someBoolean2) {
someQuery = someQuery.whereEqualTo("SomeField2", "SomeValue2");
}

// Add limit to the query
someQuery = someQuery.limit(1);

// Execute the query
someQuery.get().addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
if (task.getResult().isEmpty()) {
Log.d("LOG", "NO DOCUMENTS FOUND");
} else {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.d("LOG", document.getId() + " => " + document.getData());
}
}
} else {
Log.d("TAG", "---ERROR---");
}
}
});
Проблема в том, что этот код, похоже, возвращает все документы в коллекции, а не применяет условия (whereEqualTo).
Может ли кто-нибудь мне помочь? определить, что я делаю неправильно, или предложить правильный способ структурирования этого запроса?

Подробнее здесь: https://stackoverflow.com/questions/664 ... conditions

Вернуться в «Android»