在文档 – mongoDB中设置一个字段
我试图在mongoDB中的文档中设置字段,但是当我运行node app.js
时出现以下错误
扔呃; //未处理“错误”事件
theres我的代码:
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
方法应该用至less两个参数来调用。 引用函数签名,
Model.update(conditions, update, options, callback);
-
conditions
– 一个有效的JavaScript对象来查找要更新的实际文档。 -
update
– 实际的更新对象,这决定了在文档中所做的实际更改。
注意如果您使用的是本地mongodb驱动程序,则update
函数会接受类似的参数。 引用update
文档,
update(selector, document, options, callback)
…
selector
器更新操作的select器。
document
更新文件。
所以,你的function必须像这样改变
the_collection.update({ '_id': req.query.id }, { $set: { ativo: 'T' } });