Получают ли запросы группы коллекций данные из всех коллекций с одинаковыми именами? - PullRequest
0 голосов
/ 20 мая 2019

У меня есть схема Firebase Cloud Firestore:

my_db -> users -> uid -> places -> placeId

и

my_db -> places -> placeId

Будут ли запросы этой группы сбора получать места в обоих путях? Если да, наверняка я получу дубликаты. Есть ли способ, которым я могу избежать этого?

Редактировать: Моя цель - получить все места внутри всех пользователей, а не все места во всех коллекциях в моей базе данных.

1 Ответ

0 голосов
/ 20 мая 2019

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

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

Другая стратегия заключается в добавлении логического поля в поледокументы каждой из ваших подколлекций, которых нет в документах коллекции верхнего уровня.Это поле можно использовать для запроса только тех документов, которые находятся во вложенных коллекциях.

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