插座io房间(MEAN堆栈)

时间:2017-02-17 10:58:44

标签: node.js socket.io mean-stack

我正在建立一个建立在MEAN堆栈上的买卖网站。我打算使用socket.io。这就是我的网站如何运作

  1. 用户将注册并登录
  2. 他们可以发布项目买卖
  3. 其他用户可以提供帖子(我将在此使用socket.io,以便发布该项目的用户将收到通知)
  4. 海报可以选择查看当前的优惠,然后他们会选择接受他们的人。
  5. 一旦他们接受了报价,海报和提供的用户都将与他们进行沟通(聊天室)
  6. 因此,当海报接受了客户的提议时,它将打开聊天室供他们进行交流。所以这是我的问题,我将使用socket io房间。一旦海报接受了报价,他们都将加入房间(所以我将为他们创建一个房间并自动加入他们)然后这个房间将保存到MongoDB,然后他们将发送的每条消息,它将是保存到数据库中。这样即使他们退出,他们也能看到他们信息的历史。

    这是最好的方法吗?

    • 为他们两人创建一个房间(保存到数据库)
    • 每次他们向对方发送消息时保存到数据库
    • 在数据库登录时查询用户已加入的房间列表,以便他们可以看到他们拥有的消息

1 个答案:

答案 0 :(得分:1)

这可能是最好的方法。这是一个类似的问题is there a good way to save socket.io message history,它显示了如何保存邮件历史记录。

您不必保存邮件,但如果您希望以后能够查看邮件,则应将每条邮件保存到数据库。如果不将每条消息保存到数据库,则在重新加载页面时,之前的所有消息都将消失。

如果你想要一个免费的数据库,mongoLab将免费托管小型猫鼬数据库。 Here is a good tutorial展示如何使用mongoLab,它不使用socket.io,但它可能很容易实现。

希望这有帮助!请随时提出以下问题。