У меня есть документ Firestore «users» с полем массива «languages» и «country». Каждый пользователь использует несколько языков, поэтому для одного пользователя это
user1,
languages: english, spanish, italian
country: "UK"
user2,
languages: english
country: "UK"

Мой запрос выглядит следующим образом:
query = db.collection("users");
query = query.whereEqualTo("country", "UK");
query = query.whereArrayContains("languages", "English");
query.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@NonNull QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
if (e != null) {
return;
}
if (queryDocumentSnapshots != null) {
List<DocumentSnapshot> snapshotList = queryDocumentSnapshots.getDocuments();
for (DocumentSnapshot document : snapshotList) {
String country= document.getString("country");
Log.wtf(TAG, country);
}
} else {
Log.d(TAG, "Error getting documents: ");
}
}
});
В результате возвращаются только данные для "user2", поскольку в языках массива у него только одно поле. Althoug "user1" также имеет английский в качестве значения языка, если данные этого пользователя не возвращаются.
Что я делаю не так?
