:更新有關MongoDB從犯規的NodeJS我能夠從命令行中運行以下命令更新工作
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");
});
});
}
});
};
在控制檯中,我總是看到「未更新」。
感謝您的幫助。
對不起,這也沒有工作。 –
我沒有注意到變量名稱idArray與由split(ids)創建的數組變量不匹配。試着改變它。 – WiredPrairie
如果您在findOne調用上添加錯誤檢查,我想您會看到沒有任何匹配。 – WiredPrairie