mongoose findOneAndUpdate with upsert

dhbyun·2021년 5월 27일
0

Node js

목록 보기
2/2
Compiler.findOneAndUpdate({ user_id: req.params.user_id }, saveData)
.then(saveResult => res.status(200).json({ success: true, value: saveResult }))
.catch(err => res.json({ success: false, err }));

findOneAndUpdate를 그냥 사용할 경우 찾고자 하는 값이 있지 않다면 아무런 작업도 진행하지 않음

  • error 발생하지 않음

값이 있을 경우 수정되기 전 상태를 반환

Compiler.findOneAndUpdate({ user_id: req.params.user_id }, saveData, { new: true })
.then(saveResult => res.status(200).json({ success: true, value: saveResult }))
.catch(err => res.json({ success: false, err }));

new 옵션을 true로 지정하여 실행한 경우 값이 있을 경우 수정된 상태를 반환

Compiler.findOneAndUpdate({ user_id: req.params.user_id }, saveData, { new: true, upsert: true })
.then(saveResult => res.status(200).json({ success: true, value: saveResult }))
.catch(err => res.json({ success: false, err }));

upsert 옵션을 true로 지정하여 실행한 경우 찾고자하는 값이 없다면 insert를 진행

profile
어제보다 더 발전하는 오늘

0개의 댓글