Фильтр запросов FireStore на основе коллекции

У меня есть book коллекция в пожарном магазине, по дизайну каждый документ имеет id (скажем, это целочисленные идентификаторы, такие как 0, 1, 2..); Я хочу запросить коллекцию путем фильтрации случайной коллекции документов id например, [2, 5, 23, 54], обратите внимание, что эти идентификаторы являются случайными, поэтому я не могу использовать фильтр диапазона как isGreaterThan, Я хочу избежать запроса по одному разу для каждого отфильтрованного идентификатора, поскольку он может читать базу данных слишком много раз (что может быть дорогостоящим).

Я пытался использовать Firestore.instance.collection('book')where('id', array_contains:[ filtered id]) но это не работает с id не поле для сбора

1 ответ

Решение

В настоящее время вы не можете сделать or запросы в array_contains Это определенно функция, которую хотят люди, и поэтому я рекомендую записать ваш запрос в службу поддержки. Однако, в то же время, поскольку ваши запросы не пересекаются, стоит просто выполнить отдельные запросы и объединить результаты в основной массив. Не уверен в вашем языке, поэтому не могу привести пример, он просто выполняет 4 запроса в вашем примере и заставляет их всех обновлять основной массив.

Другие вопросы по тегам