admin 管理员组文章数量: 1184232
如何使用 mongoDB 为聊天应用程序设计数据库模式
我正在尝试使用 MongoDb 为一个简单的聊天应用程序设计数据库模式。要求很简单:
- 用户可以实时向“朋友”(现有联系人)和“陌生人”发送消息。
- 用户可以加载他们的对话历史。
- 用户可以在自己的收件箱中删除自己的对话,而不会删除其他用户收件箱中的对话。
- 当用户与新朋友聊天时,新朋友应该添加到用户的联系人列表中。
- 如果用户在收到消息时处于离线状态,则应将其标记为未读。
我自己提出了如下简单的模式,如果有人能给我一些想法,我真的很感激,我怎样才能使它对性能更友好?
interface Inbox {
uid: string,
userId: string,
participants: Participants[]
}
interface Participant{
uid: string,
first_name: string,
last_name: string,
avatar: string,
email: string,
created_at: string,
inbox_id: string
}
interface Message {
uid: string,
from: string,
to: string,
msg_type: strig,
file_url: string,
text: string,
seen: string
}
each Inbox 与一个用户相关联,对话中的两个参与者被创建为两个 participants 分别存储与收件箱相关联。 Messages 是一个不同的表,根据收件箱所有者和对话参与者获取。
目前的问题是,在发送消息和获取消息时,会话双方都有很多更新字段。
有什么建议可以使它对性能更友好吗?
谢谢!
回答如下:本文标签: 如何使用 mongoDB 为聊天应用程序设计数据库模式
版权声明:本文标题:如何使用 mongoDB 为聊天应用程序设计数据库模式 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.roclinux.cn/b/1717637440a710067.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论