mongodb를 사용하는 express로 app을 개발 중입니다. 삽입 및 데이터를 업데이 트 코드를 쓴 괜찮 았던 방법을 사용하여 저장합니다. 내가 데이터를 업데이트하는 경우mongodb의 save 메소드를 사용하여 특정 필드 업데이트하기
작동 코드는
dbconnect.collection('profiles').save(data, function (err, result) {
if (err)
return res.send({ success: false, message: "Error saving into database" });
result = JSON.parse(JSON.stringify(result));
if (_.isEmpty(result) || !result.ok)
return res.send({ success: false, message: "Unidentified error." })
return res.send({ success: true });
});
, 전체 문서가 업데이트지고 있습니다. 그 말대로 예. 그러나 나는 그것에서 하나의 필드를 생략하고 싶다.
하자 그것은 새로운 _id를 생성하고 문서를 삽입, 내가 _id없이 통과하면 내 필드
username, password, email, postal_address
을 말할.
사용자가 postal_address를 업데이트하려고하는 경우 데이터에 암호 필드가 없으므로 암호가 삭제됩니다. 그것은 전체 문서를 다시 작성하는 것과 같습니다.
코드가 작성되었으며 삽입 및 업데이트로 코드를 두 부분으로 나누고 싶지 않으므로 저장 방법을 사용하여 문서의 일부를 업데이트 할 수있는 방법을 찾고 있습니다.
희망 사항을 명확히했습니다.
'upsert' 옵션으로'update'를 사용할 수도 있습니다. 그래서 그것은 여전히 한 단계 일 것입니다. – Josh
[여기] (https://docs.mongodb.com/manual/reference/method/db.collection.update/#upsert-option) – Josh
나는 내 코드를 마침내 분할했다. 시간을내어 주셔서 감사합니다. –