Я пытаюсь перечислить документы, которые соответствуют значению поля String из ArrayList.
Просто:
- У меня есть ArrayList с тегами, хранящимися во время выполнения
- и документы с полем тег
и я хочу запросить документы, которые соответствуют тегу одному из тегов, хранящихся в ArrayList. Возможно ли это официальным запросом или мне нужно загрузить все документы и отфильтровать их на стороне клиента? Спасибо за любые ответы.
Кроме того, это мой метод генерации запроса:
public static Query getQueryForFollowed(DocumentSnapshot snapshots) {
if (snapshots == null || !snapshots.exists()) {
return FirebaseFirestore.getInstance().collection("posts").whereEqualTo("null", "null"); // return query that will get nothing
}
ArrayList<String> f = processFollowedTags(snapshots);
Query query = FirebaseFirestore.getInstance()
.collection("posts")
.whereEqualTo("tag", f.get(0));
for (int i = 1; i < f.size(); i++) {
query = query.whereEqualTo("tag", f.get(i));
}
return query;
}
Я выполнил отладку кода, и запрос содержал запрошенные условия, но запрос не нашел ни одного документа, соответствующего ему.