我有一个问题,我还没有看到与Mongoose findByIdAndUpdate没有在回调中返回正确的模型。猫鼬findByIdAndUpdate不返回正确的模型
下面的代码:
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);
});
DB中的原始文件看起来是这样的:
{
_id: 1234
descriptors: Array[2],
name: 'Test Name 1'
}
的updateObj将在看起来像这样:
{
_id: 1234
descriptors: Array[2],
name: 'Test Name 2'
}
模型返回从回调函数与原始模型相同,而不是updatedObj。 如果我查询数据库,它已被正确更新。它只是不从数据库返回。
这感觉就像一个'愚蠢的用户'的错误,但我看不到它。任何想法不胜感激。
这是一个真棒点。并提醒为什么我需要保持我的所有项目在版本上匹配,因为该包通过它自己的单元测试。谢谢。 – JonRed