firebase firestore no sql дизайн для чат-приложения с группами - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь придумать способ спроектировать базу данных firestore таким образом, чтобы это было эффективно. Основная проблема, с которой я столкнулся, - это то, как я должен определять «группы». Допустим, пользователь приглашен в групповой чат, и поэтому клиенту необходимо получить данные для этого группового чата. Должен ли я иметь коллекцию «групп», а затем найти правильный групповой документ? ИЛИ, должен ли я иметь свойство "groups" в пользовательском документе, у которого есть идентификатор для ссылки на группу, которую нужно получить?

В SQL наличие ссылки в таблице групп пользователей было бы очевидным ответом, но насчет пожарного я не уверен. Я не хочу просматривать всю коллекцию групп только для того, чтобы найти группу, в которую пользователь был недавно приглашен. Есть какие-нибудь советы? Кроме того, мой интерфейс находится в React, и я рассматриваю возможность использования метода onSnapshot для подписки на коллекцию (это, по-видимому, лучший способ получать обновления в реальном времени).

1 Ответ

0 голосов
/ 09 июля 2020

Я считаю, что лучше всего для вас это:

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

Надеюсь, это поможет. не сомневайтесь

введите описание изображения здесь

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