Получить данные из вложенного документа с идентификатором - PullRequest
0 голосов
/ 27 января 2020

У меня есть структура пожарного депо для коллекции под названием ' chartites ', содержащей категории с записями. Структура выглядит следующим образом:

Коллекция (Благотворительные организации) -> Документ ("категории") -> Коллекция (Записи) -> Документ ( ID ) -> поля (с данными) enter image description here

Мой вопрос:

Как получить поля для данного идентификатора, не запрашивая каждую категорию (документ ), с «одиночным» запросом.

Т.е. я хочу получить данные для записи (документа) с идентификатором: FC9tH5rABCsqh5kunMND (верхняя часть списка для благотворительной категории «животные»)

Я пытался сделать: db.collection ('charities'). Where ('id', '==', 'FC9tH5rABCsqh5kunMND') - но, похоже, не могу это сделать.

Ответы [ 2 ]

3 голосов
/ 27 января 2020

Вы не можете. Запросы Firestore являются мелкими, то есть они рассматривают только документы одной коллекции. Они никогда не рассматривают документы в подколлекциях. Если вы хотите, чтобы документы находились во вложенных коллекциях, для каждой вложенной коллекции потребуется собственный запрос.

1 голос
/ 27 января 2020

Если by-id является основным способом доступа к вашим данным, вы можете реструктурировать их так, чтобы они сохранялись по идентификатору с полями в каждом идентификаторе, для которых с ним связаны благотворительные организации. Тогда вы все равно могли бы получить категорическую информацию о, скажем, «животных», запросив все идентификаторы, где поле категории включает животных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...