Как смоделировать приложение для чата в базе данных Firebase Realtime? - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь спроектировать структуру для приложения чата, включая личные сообщения и группы i, используя базу данных в реальном времени*structure for chat application

Users
     |
     |_USER1
     |     |
     |     |__FRIENDS
     |     
     |_USER2
           |
           |__FRIENDS

1 Ответ

0 голосов
/ 19 сентября 2018

Как правило, вы в конечном итоге моделируете "комнаты чата" в базе данных.Таким образом, каждый диалог (который пользователи могут видеть при запуске приложения) отображается в виде отдельного узла в каком-либо корневом списке.Возможно, вы захотите отделить основные метаданные каждого разговора от его реальных сообщений и его участников.

Итак:

Chats
  chat1
    title: "...."
    lastUpdated: ...
  chat2
    title: "...."
    lastUpdated: ...
Messages
  chat1
    message1: { ... }
    message2: { ... }
  chat2
    message3: { ... }
    message3: { ... }
Participants
  chat1
    userid1: true
    userid2: true
  chat2
    userid1: true
    userid3: true
    userid4: true
    userid5: true

Используя те же ключи (chat1, chat2)для узлов в каждом списке вы можете легко просматривать данные для полного чата, когда это необходимо.Но, сохраняя их в отдельных списках верхнего уровня, вы можете лучше защитить приложение и лучше контролировать объем загружаемых данных.

Также см .:

...