Допустим, у меня есть коллекции досок. Многие пользователи могут участвовать в любой доске. Поэтому, когда каждый пользователь участвует, я храню пользовательский документ внутри других коллекций «участников».
Теперь я хочу показать все доски, в которых участвует конкретный пользователь.
Как это сделать с помощью angularfirestore?
То, что вы пытаетесь сделать, известно как запрос группы сбора, что в настоящее время невозможно в Cloud Firestore. См. Подколлекции запросов Firestore
Таким образом, с вашей текущей моделью вы можете эффективно искать пользователей доски, но вы не можете эффективно искать доски для пользователя. Чтобы разрешить последнее, рассмотрите возможность добавления коллекции досок для каждого пользователя в структуру, подобную /users/$uid/boards/$boardid
.
В качестве альтернативы вы можете добавить поле массива users
в документ доски и использовать array-contains
для выполнения запроса:
db.collection('boards').where('users', 'array-contains', uid)
Альтернативный вариант подходит для моего требования. Спасибо за ответ.