반응형
Mongoose findByIdAndUpdate가 올바른 모델을 반환하지 않음
Mongoose 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가 아니라 원래 모델과 동일합니다. db를 쿼리하면 올바르게 업데이트되었습니다. 데이터베이스에서 반환되지 않습니다.
이것은 '어리석은 사용자'오류처럼 느껴지지만 볼 수 없습니다. 어떤 아이디어라도 대단히 감사합니다.
Mongoose 4.0에서 (및 ) new
옵션의 기본값 이 findByIdAndUpdate
( 릴리스 노트 # 2262 참조 findOneAndUpdate
)로 변경되었습니다 . 즉 , 업데이트가 적용된 후 문서의 새 버전을 가져 오려면 옵션을로 명시 적으로 설정해야합니다 .false
true
Model.findByIdAndUpdate(id, updateObj, {new: true}, function(err, model) {...
참고 URL : https://stackoverflow.com/questions/30419575/mongoose-findbyidandupdate-not-returning-correct-model
반응형
'Programing' 카테고리의 다른 글
Android 레이아웃 가중치 (0) | 2020.09.17 |
---|---|
HDFS 디렉토리의 크기를 확인하는 방법은 무엇입니까? (0) | 2020.09.17 |
한 요소에 동일한 유형의 여러 주석이 있습니까? (0) | 2020.09.17 |
자바 스크립트에서 문자열의 마지막 문자를 어떻게 얻을 수 있습니까 (0) | 2020.09.17 |
오류 : 상태 {statusCode = DEVELOPER_ERROR, 해결 방법 = null} (0) | 2020.09.17 |