DB에서 값 삭제하기 : DELETE, 전체 값 삭제하기

데브코스

목록 보기
32/131

여기서 3번을 잘 봐라. 이제 값을 삭제하는 방법에 대해서 볼 것이다.

전에 했던 get방식처럼 똑같이 해주면 된다!


app.delete("/youtubers/:id", function (req, res) {
  let { id } = req.params;
  id = parseInt(id);
  const name = db.get(id).channelTitle;
  db.delete(id); //db에서 id에 해당하는 데이터를 삭제
  res.json({
    message: `${name}님 유튜버 정보가 삭제되었습니다.`,
  });
});


하지만 만약 내가 아직 등록되지 않는 유튜버의 정보를 지울려고 한다면? 그럼 undefined가 뜨는데 그냥 두면 안되겠지?

그래서 예외처리를 해줄건데, 예외처리는 이렇게 하면 돼!

app.delete("/youtubers/:id", function (req, res) {
  let { id } = req.params;
  id = parseInt(id);

  if (db.get(id) == undefined) {
    res.json({
      message: `${id}번 유튜버 정보가 없습니다.`,
    });
    return;
  } else {
    const name = db.get(id).channelTitle;
    db.delete(id); //db에서 id에 해당하는 데이터를 삭제
    res.json({
      message: `${name}님 유튜버 정보가 삭제되었습니다.`,
    });
  }
});

전체 유튜버 "삭제" => DELETE/youtubers

- req : X
- res : "전체 유튜버가 삭제되었습니다."

app.delete("/youtubers/", function (req, res) {
  //db에 값이 1개 이상이면 전체삭제 해주고, 1개도 없으면 없다고 알려주기.

  var msg = "";
  if (db.size == 0) {
    msg = "삭제할 유튜버 정보가 없습니다.";
  } else {
    db.clear(); //db에 있는 모든 데이터를 삭제
    msg = "모든 유튜버 정보가 삭제되었습니다.";
  }

  res.json({
    message: msg,
  });
});

이렇게 전체 삭제도 해주고, db안에 값이 없을때 예외처리?도 해줬어.

자 전체 삭제할때, 중요하게 볼 것은 바로바로
db.clear() 라는 거야.
이 함수를 쓰게되면, db안에 있는 모든 값이 삭제되는 것이지.

profile
Dive Head First | Work Super Hard | Attract Great People

0개의 댓글