Как смоделировать чат-приложение в базе данных Firebase Realtime?

Я пытаюсь разработать структуру для приложения чата, включая личное сообщение и группирует i, используя базу огня в реальном времени я не знаю, как спроектировать структуру любая помощь, пожалуйста я пытаюсь сделать что-то подобное, это правда Как смоделировать чат-приложение в базе данных Firebase Realtime?

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

Пожалуйста, перечислите свои проблемы и компромиссы, которые вы рассматриваете

ehacinom 19.09.2018 21:20
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
0
1
2 354
1

Ответы 1

Обычно вы в конечном итоге моделируете «чаты» в базе данных. Так что каждый диалог (который пользователи могут видеть при запуске приложения) отображается как отдельный узел в некотором корневом списке. Вы можете отделить основные метаданные каждого разговора от его фактических сообщений и его участников.

Так:

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) для узлов в каждом списке, вы можете легко найти данные для полного чата, когда это необходимо. Но, сохраняя их в отдельных списках верхнего уровня, вы можете лучше защитить приложение и лучше контролировать объем загружаемых данных.

Также см:

Другие вопросы по теме