在socket.io调用中,mongoose push不起作用

时间:2012-02-07 22:18:49

标签: node.js mongodb socket.io mongoose

出于某种原因,推送到mongodb可以使用此设置

// Fixed params
story.title = 'Socketi';
story.lines.push ({ author: 'Khuram', text:'socket data'});


//Capture data from socket into schema
 io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });

socket.on('slog', function (data) {

console.log(data);

    });
});

但是在socket.io调用中放置mongoose push语句不起作用

像这样:

// Fixed params
story.title = 'Socketi';



  //Capture data from socket into schema
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });

socket.on('slog', function (data) {

story.lines.push ({ author: 'Khuram', text:data.my});

    });
});

仅供参考:'slog'是指我希望mongoose更新的事件。 我从客户端接收数据,我想在每次发出此事件时将套接字事件数据推送到mongodb(这就是我想将它放在socket.io调用中的原因)

1 个答案:

答案 0 :(得分:1)

您的保存功能在哪里执行?当你在回调中收到一条slog消息,然后在你的回调中调用另一个故事实例时,我建议把所有的逻辑放在你想要发生的事情上。