Node.js 在mongodb中保存聊天信息的最佳方法?

Node.js 在mongodb中保存聊天信息的最佳方法?,node.js,mongodb,mongoose,socket.io,Node.js,Mongodb,Mongoose,Socket.io,除了在服务器每次收到消息时都写入数据库之外,还有更好的方法记录聊天记录吗。我正在考虑在每次聊天结束后保存日志,而不是根据消息保存日志 npm install faye var client = require("faye") ; client.subscribe("/myChannel", function(messageRecievedOnChannel){ // each time a message is received in channel, // log it +

除了在服务器每次收到消息时都写入数据库之外,还有更好的方法记录聊天记录吗。我正在考虑在每次聊天结束后保存日志,而不是根据消息保存日志

npm install faye

var client = require("faye") ;
client.subscribe("/myChannel",    function(messageRecievedOnChannel){
  // each time a message is received in channel, 
  // log it + save to dB if needed. 
} ;
//阅读Faye手册以加深理解。
//

我认为OP正在试图找到另一种保存聊天日志的方法,而不是每次服务器收到消息时都写入DB。你的答案提供的只是一种方法。有两种方法可以做到这一点。-每隔x条消息保存一次日志,并将其保存在内存中,直到下次保存。根据您的应用程序,如果您担心数据库操作过于频繁,x可能是一个小数字(如5)或更大的数字(如50)。-每x秒保存一次日志,并将其保存在内存中,直到下一次保存(如果收到新消息)。日志可以是一个队列,每次保存日志时它都会清空。通过结合这两种方法,你可以有一种更智能的保存方法,即在消息到达时保存消息,然后在会话结束时保存剩下的少量消息(用户断开连接,或者在他们停止聊天一段时间后),谢谢你的输入帮助最大。