Я использую Google Cloud Firestore в качестве базы данных для приложения Flutter. Мой код требует, чтобы я сделал запрос, содержащий '.where («X», «in», «очень-длинный-список») »к базе данных. Возникает проблема: оператор in может объединить не более 10 предложений о равенстве, в то время как мой список имеет переменную длину, которая может оказаться значительно больше 10. Я ищу возможное решение проблемы.
Пример утверждения:
citiesRef.where("state", "in", "[list-of-1000]");
Изменить: чтобы дать дополнительный контекст, мой проект представляет собой приложение для социальных сетей, где у пользователей есть друзья. База данных должна быть реструктурирована таким образом, чтобы пользовательский документ содержал подколлекцию «друзей» с документом, содержащим их идентификатор пользователя. Пользовательский документ также имеет коллекцию постов со ссылками на хронологически упорядоченную коллекцию постов. В коллекции сообщений каждый почтовый документ имеет документ, содержащий их UID. Чтобы создать фид пользователя, необходимо указать и отфильтровать коллекцию сообщений с помощью '.where ["UID", "in", ["List-of_friend-UIDs"])'. Если вам известна структура получше, я готов реструктурировать свою базу данных.