Socket io房间(MEAN堆栈)

我正在构build一个build立在MEAN堆栈上的买卖网站。 我打算使用socket.io。 所以这里是我的网站将如何工作

  1. 用户将注册并login
  2. 他们可以发布一个项目,购买/出售
  3. 其他用户可以提供的post(我会使用socket.io这样发布该项目的用户将有一个通知)
  4. 海报将有一个选项来查看当前的报价,然后他们将select谁接受。
  5. 一旦他们接受报价,海报和提供的用户都将有一个沟通他们(聊天室)

所以当海报接受了客户的提议时,会打开一个聊天室让他们进行沟通。 所以这是我的问题,我将使用socket io房间。 一旦海报接受报价,他们两个将join房间(所以我会为他们创造一个房间,并自动join),然后这个房间将被保存到MongoDB,然后他们将发送的每个消息,这将是保存到数据库。 这样即使他们注销,他们也可以看到他们的消息的历史。

这是最好的方法吗?

  • 为他们两个创build一个房间(保存到数据库)
  • 每次向对方发送消息时都保存到数据库中
  • 当他们login时查询数据库查看用户join的房间列表,以便他们可以看到他们拥有的消息

这可能是最好的办法。 这里有一个类似的问题, 是否有一个很好的方法来保存socket.io消息的历史,它显示了如何保存消息的历史。

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

如果你想要一个免费的数据库, mongoLab将免费提供小型mongoose数据库。 这是一个很好的教程,展示了如何使用mongoLab,它不使用socket.io,但它可能会很容易实现它。

希望这可以帮助! 随意问下面的任何问题。