//_id와 password를 이용한 게시글 수정
router.put("/posts/:_id", async (req, res) => {
const { _id } = req.params;
const { password, title, content } = req.body;
const posts = await Post.find({ _id });
const existspost = posts.find(x => x.password === password)
if (existspost.length) {
const result = await Post.updateOne({password}, { $set: {title, content} })
return result;
}
res.json({ "message": "게시글을 수정하였습니다." })
});
//_id와 password를 이용한 게시글 수정
router.put("/posts/:_id", async (req, res) => {
const { _id } = req.params;
const { password, title, content } = req.body;
const post = await Post.findById(_id);
if (post) {
if (post.password !== password) { //post.length가 unditinde length는 배열과 문자열에서만 사용된다.
throw new Error('비밀번호 X');
}
await Post.updateOne({ _id }, { $set: { title, content } }) //찾는게 무엇인지 알려줘야함 첫번째에 password는 같은값이 나올수있음 _id 고유값
return res.json({ "message": "게시글을 수정하였습니다." }) //return으로 인해 밑에가 실행이 되지않고 종료가 된다. 함수
}
return res.json({ "message": "실패하였습니다." }) // 요청과 응답으로 이루어 지기 때문에 if가 있을때 참이여야만 res가 나온다. res가 없으면 계속 돌아가버린다. 1req 1res
});
검토 (2번 중요)
참고
(1) https://jungsikjeong.github.io/memo/2021/05/15/memo/
(2) https://gurtn.tistory.com/122