如何使用 mongoDB 为聊天应用程序设计数据库模式

编程入门 行业动态 更新时间:2024-10-05 03:24:50

<a href=https://www.elefans.com/category/jswz/34/1771452.html style=如何使用 mongoDB 为聊天应用程序设计数据库模式"/>

如何使用 mongoDB 为聊天应用程序设计数据库模式

我正在尝试使用 MongoDb 为一个简单的聊天应用程序设计数据库模式。要求很简单:

  1. 用户可以实时向“朋友”(现有联系人)和“陌生人”发送消息。
  2. 用户可以加载他们的对话历史。
  3. 用户可以在自己的收件箱中删除自己的对话,而不会删除其他用户收件箱中的对话。
  4. 当用户与新朋友聊天时,新朋友应该添加到用户的联系人列表中。
  5. 如果用户在收到消息时处于离线状态,则应将其标记为未读。

我自己提出了如下简单的模式,如果有人能给我一些想法,我真的很感激,我怎样才能使它对性能更友好?

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 为聊天应用程序设计数据库模式

本文发布于:2024-05-30 23:03:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771020.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何使用   程序设计   模式   数据库   mongoDB

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!