mongoose 데이터 생성 및 수정에서 만든 프로젝트에 데이터 삭제와 수정을 추가 구현하겠다.
src/api/posts/postsCtrl.js
const Post = require("../../models/post");
module.exports = {
...
// 데이터 삭제
remove: async (req, res ) => {
const { id } = req.params;
try{
// findByIdAndRemove 함수를 사용하여 특정 id값을 가진 데이터를 삭제한다.
await Post.findByIdAndRemove(id).exec();
return res.status(204).end() // No Content (성공하였지만 응답할 데이터는 없음)
}catch(err){
return res.status(500).json({error: err});
}
},
// 데이터 수정
update: async (req, res ) => {
const { id } = req.params;
try{
// findByIdAndUpdate 함수를 사용하영 특정 id값을 가진 데이터를 수정한다.
const post = await Post.findByIdAndUpdate(id, req.body, {
new: true, // 이 값을 설정하면 업데이트 된 데이터를 반환
// false이면 업데이트 이전 데이터를 반환.
}).exec();
if(!post) {
return res.status(404).end();
}
return res
.status(200)
.json(post);
}catch(err){
return res.status(500).json({error: err});
}
},
}