마이페이지-개인정보수정 기능을 구현하고 있다.
이전에 DB 값 삭제(탈퇴) 구현에서 한참을 애먹었었다.
https://codelist.tistory.com/71
https://codelist.tistory.com/81
그래도 해결했으니 설령 UPDATE 기능이 안되더라도 대처할 수 있겠다 싶었는데 UPDATE는 웬만한 시도를 다 해봤으나 동작하지 않았다.
UPDATE에서 막힐 거라고는 생각도 못했었는데 DELETE보다 안 되니까 이쯤되면 사실 DELETE도 완벽하게 구현된 게 아닌가? 라는 생각이 들었다.
일단 update, updateOne, findAndModify, findOneAndUpdate 등등 시도해봤고 앞에 컬렉션이름.~, db이름.~ 등 다 갖다붙여봤고 DELETE 구현할 때 시도해봤던 FindOne/Find 사용해보고 아예 없애보기도 했는데 5일동안 구현하지 못했다.
해결
backend/routes/index.js
router.post('/mypage', (req, res) => { //마이페이지 정보 수정
User.findOne({name : req.cookies.session},(err, users) => {
if(!req.cookies.session || err) { // 쿠키 없거나 에러 났을 때
res.redirect('/');
} else {
users.updateOne({$set : {phone : req.body.phone}}).exec(); // 여기!!
res.redirect('/mypage');
}
})
})
마지막에 .exec() 붙이니까 된다.
'Node.js' 카테고리의 다른 글
[AWS] [올랑올랑 종료] 백그라운드 배포하기 (0) | 2022.01.17 |
---|---|
[Node.js] 세션 구현하기 (express-session) (0) | 2022.01.10 |
[Node.js, Vue.js] alert 띄우기 (0) | 2021.12.31 |
[Node.js, Vue.js] res.json으로 Vue에 값 전달하기 (0) | 2021.12.26 |
[Node.js, Vue.js] 탈퇴 기능(mongodb) (0) | 2021.12.21 |