如何使用 mongoDB 为聊天应用程序设计数据库模式"/>
如何使用 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 为聊天应用程序设计数据库模式
发布评论