Этот ответ касается того, как объединить два запроса, и я полагаю, что это можно сделать для любого количества известных запросов. Однако у меня есть массив значений, которые я хочу использовать для фильтрации документов, содержащих поле с этими значениями (это одно и то же поле для всех значений). Приведенный выше метод не представляется достаточным для этой цели.
Я попытался создать массив запросов с помощью оператора new, но это не работает, поскольку Query
является приватным.
Query query = db.collection("posts")
.whereEqualTo("userId", followingList)//followingList is a list of Strings that I want to query
.orderBy("imageUrl_1", Query.Direction.ASCENDING);
Это не работает, поскольку followingList
не является String
Как я пытался создать массив запросов, который не работает:
ArrayList<Query> list = new ArrayList<Query>();
for(String s : followingList){
list.add(new Query());//does not compile
}
Это изображение моего Firestore показывает, как создается followingList
. Он обновляется, когда пользователь нажимает «подписаться» на сообщение другого пользователя. То, что я хочу сделать, это создать запрос всех сообщений (содержащихся в отдельной коллекции), которые содержат пользовательские элементы, содержащиеся в followingList