NodeJS MongoDB:多个保存请求无效

时间:2013-11-06 06:20:58

标签: node.js mongodb node-mongodb-native

我在我的应用程序中使用node-mongodb-native。我向nodejs服务器发送多个POST请求以保存/更新每个文档,但只有一个文档正在更新,所有其他文档都没有更改。服务器中收到的数据是正确的。

save : function(req,res) {
        data = req.body;            
        if(!data._id){  
            data._id = new ObjectID();
        }else{
            data._id = ObjectID(data._id);          
        }       
        mColl(req.params.collname, function (collection,db) {
            collection.save(data, {safe:true}, function(err, result) {                  
                 if(err){
                    res.send(err);
                 }
                 else {
                    res.send(result);
                 }              
            });
        });
    }

我也没有收到请求的回复。

1 个答案:

答案 0 :(得分:4)

对于初学者,不要这样做:

data = req.body;

当有新请求进入时,你会覆盖(global!)data变量,并且会发生各种未定义的事情。所以总是声明一个新变量:

var data = req.body;