mongoose push doesnt work inside socket.io call
由于某些原因,推送到mongodb可以与此设置一起使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // 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); }); }); |
但是将猫鼬push语句放在socket.io调用中不起作用
例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // 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"是指我希望猫鼬更新的事件。
我从客户端接收数据,我想在每次发出此事件时将套接字事件数据推送到mongodb(这就是为什么我想将其放入socket.io调用中)的原因
您的保存功能在哪里执行?我建议您在回调中收到一条slog消息时,将所有可能发生的事情放在所有逻辑上,然后在回调中也调用Story实例上的save。