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

Программисты JAVA общаются здесь
Ответить
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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