0
我與平均堆棧我試圖更新下列對象工作:findOneAndUpdate工作的一部分時間。 MEAN堆棧
{
_id : "the id",
fields to be updated....
}
這是做更新的功能:
function updateById(_id, update, opts){
var deferred = Q.defer();
var validId = new RegExp("^[0-9a-fA-F]{24}$");
if(!validId.test(_id)){
deferred.reject({error: 'invalid id'});
} else {
collection.findOneAndUpdate({"_id": new ObjectID(_id)}, update, opts)
.then(function(result){
deferred.resolve(result);
},
function(err){
deferred.reject(err);
});
}
return deferred.promise;
}
這適用於一些我的對象,但不與其他人一起工作。 這是返回什麼時候更新失敗:
{
ok: 1,
value:null
}
當函數成功地更新對象它返回:
{
lastErrorObject: {}
ok: 1
value: {}
}
好像蒙戈是無法找到的對象我試圖在失敗時進行更新。但是,我可以使用_id在Mongo shell中找到這些對象。
有人知道爲什麼司機會這樣做嗎?我的數據可能已經腐敗了嗎?
乾杯!