我可以从命令行运行以下更新命令:
db.Camera.update({_id:ObjectId("51059ca49c7b280809a2a81e")}, {$set: {"Selected":0}});
但是 NodeJS 中的以下代码不起作用。当我记录 item.Selected 时,我得到一个非零值。
exports.findById = function(req, res) {
var ids = req.params.id.split(",");
db.collection('Camera', function(err, collection) {
for(var i = 0; i < ids.length; i++){
collection.findOne({'_id':idArray[i]}, function(err, item) {
item.Selected += 1;
console.log('Selected: ' + item.Selected);
collection.update({'_id':new BSON.ObjectID(ids[i])}, item,function(err, updated) {
if( err || !updated ) console.log("Not updated");
else console.log("Updated");
});
});
}
});
};
在控制台中,我总是看到“未更新”。
谢谢你的帮助。