Запрос данных в нескольких коллекциях - PullRequest
0 голосов
/ 26 ноября 2018

Я занимаюсь разработкой приложения для чата с использованием Firebase Firestore.У меня есть коллекция для чата в комнате и еще одна для информации о пользователе.Как я могу получить пользовательские данные при прослушивании снимка комнаты.

Это моя структура базы данных:

enter image description here

enter image description here

Пожалуйста, помогите

1 Ответ

0 голосов
/ 26 ноября 2018

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

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

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

Для более подробной информации по этим темам я настоятельно рекомендую прочитать Моделирование данных NoSQL и посмотреть знакомство с Cloud Firestore.

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