Geri aramada doğru modeli döndürmeyen Mongoose findByIdAndUpdate ile daha önce görmediğim bir sorun var.
İşte kod:
var id = args._id;
var updateObj = {updatedDate: Date.now()};
_.extend(updateObj, args);
Model.findByIdAndUpdate(id, updateObj, function(err, model) {
if (err) {
logger.error(modelString +':edit' + modelString +' - ' + err.message);
self.emit('item:failure', 'Failed to edit ' + modelString);
return;
}
self.emit('item:success', model);
});
Veri tabanındaki orijinal belge şuna benzer:
{
_id: 1234
descriptors: Array[2],
name: 'Test Name 1'
}
UpdateObj şu şekilde görünür:
{
_id: 1234
descriptors: Array[2],
name: 'Test Name 2'
}
Geri aramadan döndürülen model, updatedObj ile değil, orijinal modelle aynıdır. Veritabanını sorgularsam, doğru şekilde güncellendi. Sadece veritabanından dönmüyor.
Bu bir 'aptal kullanıcı' hatası gibi geliyor, ancak göremiyorum. Herhangi bir fikir çok takdir edildi.