我如何向 mongodb 发送 socket.io 消息

How can I send socket.io messages to mongodb

我有一个类似于 socket.io 主页上的聊天应用程序。我想用 monogdb / mongoose 保存消息,以便它们在刷新/服务器重新启动后始终存在(只是为了了解它是如何工作的)。

所以例如在我的猫鼬文件中我有这个:

var mongoose = require( 'mongoose' );
var Schema   = mongoose.Schema;

var Mes = new Schema({
    content    : String
});

mongoose.model( 'Mes', Mes );
mongoose.connect( 'mongodb://localhost/socketio' );

我想用它保存我所有的消息。

var db = require('./db.js');
...
io.on('connection', function(socket){
  socket.emit('uconnected')
  socket.broadcast.emit('connected')
  socket.on('disconnect', function(){
    io.emit('disconnect')
  });
  socket.on('chat message', function(msg){
    io.emit('chat message', msg);
  });});

所以我不知道该怎么做,我有一些想法,但没有一个奏效。 我知道你必须在某处添加这个。

new Mes({
  content : $('#m').val(),
}).save( function ( err, todo, count ){
      if( err ) return next( err );
    });

试试这个:

var db = require('./db.js');
var Mes=require('Mes');
io.on('connection', function(socket){
    socket.emit('uconnected')
    socket.broadcast.emit('connected')
    socket.on('disconnect', function(){
        io.emit('disconnect')
    });
    socket.on('chat message', function(msg){
        io.emit('chat message', msg);
        Mes.create({content:msg}, function (err,success) {
            if(err)
            {
                //handle error
            }
            else{
                //handle success
            }
        })
    });});