【发布时间】:2021-08-24 16:20:27
【问题描述】:
我想在实时数据库中创建可扩展的聊天结构以支持私人和群聊
这是我目前的结构
.chats
.chat1
.type: private
.lastMessage
.users
.uid1: true
.uid2: true
.chat2
.type: group
.groupName
.groupImage
.lastMessage
.users
.uid1: true
.uid2: true
.uid2: true
... other users
.userChats
.uid1
.chat1:
.lastMessage
.lastMessageTime
...
.chat2:
.lastMessage
.lastMessageTime
.image
.groupName
...
当用户登录应用程序时,我想收听他/她的聊天列表并将其显示在列表中。这就是为什么我有userChats。
这里的问题是,在一个群聊中,我们可以有(例如)50 个用户,当任何用户在群中发送新消息时,我们需要为每 50 个用户更新 lastMessage 字段(在 userChats 中),所以他们可以立即更新他们的列表。
但这似乎不是正确的方法。
有没有更好的结构来实现这个目标?
【问题讨论】:
标签: firebase firebase-realtime-database