Я использую Flutter и Firebase Firestore и хочу запросить группу коллекций, но мне нужны только дочерние элементы определенных документов в Firestore.
Я пробовал запрашивать все «родительские» документы, затем перебирать их, проверяя условия, которые я ищу, и создавать еще один запрос Firestore, используя этот конкретный идентификатор документа, но это очень медленно.
У меня есть коллекция под названием "Магазины", а в "Магазинах" есть поле "logoColour" и подколлекция "Клиенты". Каждый документ «Клиенты» имеет несколько полей, но меня интересует «высота».
Что я хочу сделать, так это создать запрос для подколлекции «Клиент», где «Клиент» [высота] > 5», где «Магазины» [logoColour] == «желтый»
Единственный похожий пост, который я смог найти, это Подколлекция запросов Firestore и родительский документ, датированный 2021 годом и написанный на машинописном языке.
Возможно ли это во флаттере?





Firestore может фильтровать только значения в документах, которые он возвращает.
Таким образом, единственный способ получить желаемое поведение с помощью одного запроса — реплицировать значение, которое вы хотите отфильтровать, в каждый клиентский документ.
Если это неприемлемо, вам действительно нужно сначала запросить родительские документы, а затем загрузить документы подколлекции для каждого - как вы сейчас делаете.
Также см: