Как запросить Firestore для возврата строки, если идентификатор Do c равен текущему пользователю - PullRequest
0 голосов
/ 25 февраля 2020

Как мне написать запрос для идентификатора документа, который равен текущему пользователю, и вернуть строку, если идентификатор пользователя - это имя любого документа в указанной коллекции c? У меня есть три коллекции: администратор, студент и наставник.

Мне нужен пользователь, отправленный в указанное c место в зависимости от того, в какой коллекции он находится.

Идея состоит в том, что если пользователь равен идентификатору документа, то я хочу верните эту строку.

Насколько я понимаю:

firebase.firestore.collection('Admin').where("uid", "==", user.uid)

1 Ответ

1 голос
/ 26 февраля 2020

Хотя Firestore поддерживает так называемые запросы группы коллекций, они работают только в том случае, если (под) коллекции имеют одно и то же имя, поэтому, например, если у вас есть коллекция history для каждого пользователя, вы можете использовать группу коллекций Выполнять запросы ко всем history коллекциям.

Невозможно выполнить запрос по трем коллекциям с разными именами. Каждой из этих коллекций потребуется отдельный запрос.

Если честно, хотя ваша модель данных немного вонючая. Чаще всего имеется коллекция пользователей, которая содержит всех пользователей (администраторов, студентов и наставников), а затем сохраняет их роль в качестве поля в своем документе в коллекции users.

Таким образом, вы можно прочитать их профиль с помощью:

firebase.firestore().collection('user').doc(user.uid)

и затем отправить их на правый экран на основе значения поля role в этом документе.

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