2017-02-13 2 views
0

mongoose에서 $ 세트를 사용하여 문서를 업데이트하려고하지만 문서가있는 경우에만 세트를 사용하고 싶습니다. 다른 방법은 새 문서를 만드는 것입니다. 문제는 $ 세트에 언급 된 필드뿐만 아니라 전체 문서를 추가해야한다는 것입니다. 몽구스로 하나의 검색어로 가능합니까?

+0

코드 예제 : bulk.find을 ({_ ID : ID}). 업데이트는 ({$ 설정 : {제목 : 'foo는 바'}}) .upsert (newDoc) ??? – stu6188

답변

0

당신은 upsert:true 옵션을 findOneAndUpdate을 사용하여 수행 할 수 있습니다

MyModel.findOneAndUpdate(query, {$set: {.....}}, { upsert:true }, function(err, doc){ 
    if (err){ 
     return res.send(500, { error: err }) 
    }; 
    return res.send("succesfully saved"); 
}); 
+0

의사가 없으면 전체 문서를 삽입해야하므로이 기능이 도움이된다고 생각하지 마십시오. 이 경우, $ set – stu6188

+0

에 넣은 값을 사용하여 upsert하지만 완전한 객체를'$ set' 할 수 있습니다. – giankotarola

관련 문제