# #firebase #flutter #google-cloud-firestore
Вопрос:
У меня есть следующая структура в firestore, и я хочу получить документы серии, которые имеют одну и ту же категорию или жанр (10 документов одновременно).
EX: 10 series documents of category Mystery
Я знаю, что это делается с использованием методов where()
и limit()
, но я не знаю, как получить доступ к объектам в categories array
, особенно если у них нет имен.
Ответ №1:
В настоящее время вы не можете искать вложенные элементы во вложенных списках, однако вы можете выполнить поиск точного объекта в списке, и в вашем случае это a Map<String, String>
.
Итак, используйте это, что можетдолжно сработать:
.where('categories', arrayContains: {"ar_title": غموض, "en_title":"Mystery"})
Комментарии:
1. должен ли это быть точный объект? Я имею в виду, не могу ли я просто передать «en_title»??
2. К сожалению, нет, потому что подумайте об этом с точки зрения Firebase. в нем есть список категорий, в каждом индексе, внутри него, есть
en_title
. Массив содержит только просмотры на самом первом уровне категорий, в индексах0, индекс1..и т. Д., Но на самом деле вам нужно, чтобы он заглянул в каждый индекс , если он содержитen_title
, а затемen_title
сопоставилMystery
его . И в настоящее время они этого не делают.