在document-mongoDB中设置一个字段

set a field in document - mongoDB

本文关键字:一个 字段 document-mongoDB 设置      更新时间:2023-09-26

我试图在mongoDB中的文档中设置字段,但在运行node app.js 时遇到以下错误

投掷者;//未处理的"错误"事件

这是我的代码:

app.get('/verify', function(req, res) {
    console.log(req.protocol + ":/" + req.get('host'));
    var collection = "usuarios";
    collectionDriver.getCollection(collection, function(error, the_collection) {
        if (error) {
            res.send(400, error);
        } else
            the_collection.update("{_id:" + req.query.id + "}, {$set: {ativo:'T'}}");
    });
});

编辑:

    app.get('/verify',function(req,res){
console.log(req.protocol+":/"+req.get('host'));
   var collection = "usuarios";
   collectionDriver.getCollection(collection, function(error, the_collection) {
        if (error) { res.send(400, error);}
        else  
          the_collection.update({ '_id': req.query.id, $set: { ativo: 'T' } });
        //  the_collection.update("{_id:'"+req.query.id+"'}, {$set: {ativo:'T'}}");}
   });

});

和错误

events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:904:11) at Server._listen2 (net.js:1042:14) at listen (net.js:1064:10) at Server.listen (net.js:1138:5) at Object.<anonymous> (/home/ladessa/files/MelhoraCidade/server/app.js:206:24) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10)

根据mongoose的update文档,update方法应至少使用两个参数进行调用。引用函数签名,

Model.update(conditions, update, options, callback);
  1. conditions-一个有效的JavaScript对象,用于查找要更新的实际文档。

  2. update-实际的更新对象,它确定文档中进行的实际更改。

注意如果您使用的是本机mongodb驱动程序,update函数也接受类似的参数。引用update文件,

update(selector, document, options, callback)

selector更新操作的选择器。

document更新文档。

所以,你的功能必须像这个一样改变

the_collection.update({
    '_id': req.query.id
}, {
    $set: {
        ativo: 'T'
    }
});