2012-08-02 65 views
0

下面的代码片段将文档保存到数据库,但不会抛出错误或socket1发出。然而,socket2发射将工作。此查询中的错误是什么?MongoDB文档保存,但以下功能不会触发

db.doc.findOne({field1: value1}, function(err, doc) { 
     if (!doc) { 
      db.doc.save({field1: value1, field2: value2, field3: value3}, function(err, saved) { 
       if(err || !saved) console.log("User not saved"); 
       else socket.emit('socket1', value1, value2);      
      });      
     } 
     else { 
      socket.emit('socket2', value1);    
     } 
    }); 
+0

这是否使用'mongoose'或'节点的MongoDB,native'? – rdrey 2012-08-02 11:45:49

+0

我正在使用MongoJS这个应用程序。 – user1267116 2012-08-02 11:53:30

+0

我从来没有听说过MongoJS。你的'要求(“...”)电话看起来像什么?如果你输入'npm list',你是否看到'mongoose'或'node-mongodb-native'安装? – rdrey 2012-08-02 12:00:26

回答

0

您可以尝试save({...}, {safe:true}, function(...) {...})

+0

谢谢,这工作。也有助于从localhost部署:P – user1267116 2012-08-02 12:01:08