猫鼬 - 数据没有保存到db
问题描述:
我不能让Mongoose保存我的数据。每次发生新事件时,我都想保存到数据库中。猫鼬 - 数据没有保存到db
//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}, function(){
story.save(function(err){
//save line
if (err) {throw err; }
console.log('saved story line');
});
});
});
});
答
根据此页:http://mongoosejs.com/docs/embedded-documents.html
也许你可以试试:
story.lines.push ({ author: 'Khuram', text: data.my});
story.save(function(err){
//save line
if (err) {throw err; }
console.log('saved story line');
});
最终,好像推法可能不支持像你试图匿名函数回调通过。
参考:https://github.com/LearnBoost/mongoose/blob/master/lib/types/array.js
+0
这就是我原来的样子,但是这样做,它不会等待接收套接字数据并继续保存。每次数据传输时我都想保存数据。 任何想法? – 2012-01-23 20:49:00
+0
刚刚一直玩这个多一点。似乎是更多与Socket.io而不是猫鼬有关的问题,但目前还不确定。我只是尝试使用一些静态值推动socket.on,但它没有奏效。 – 2012-01-23 21:24:48
什么是“苦干”事件 - 这是要引起猫鼬做的更新吗?你能证实它实际上是被解雇吗?这将有助于澄清是否是您对猫鼬的呼叫或事件处理代码的问题。 – mpobrien 2012-01-16 21:13:49
是的,这是我想要猫鼬更新的事件。我已经独立测试了我的socket.io代码,并可以确认它触发。作为push和no socket.io的一部分,使用staric数据进行猫鼬更新也适用。我只是觉得我没有正确地合并这两个函数呢? – 2012-01-16 23:08:35