我正在尝试为聊天应用程序设计一个结构,包括私人消息和 通过使用实时firebase将我分组 我不知道如何设计结构 任何帮助请 我试图做这样的事情是真的
Users
|
|_USER1
| |
| |__FRIENDS
|
|_USER2
|
|__FRIENDS
答案 0 :(得分:2)
您通常最终将在数据库中为“聊天室”建模。这样,每次对话(用户在启动应用程序时可能会看到的对话)都显示为某个根列表下的单独节点。您可能希望将每个对话的主要元数据与其实际消息及其参与者分开。
所以:
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
),您可以在需要时轻松查找数据以进行完整的聊天。但是,通过将它们保存在单独的顶级列表中,可以更好地保护应用程序并更好地控制加载的数据量。
另请参阅: