[mongoDB] DELETE / AJAX

Dorong·2023년 1월 10일
0

Node.js / MongoDB

목록 보기
8/23

✅ DB 데이터를 삭제시키려면

  • 보통 이제 삭제버튼으로 삭제하는 식인데,
  • 삭제하는 delete 요청은 순수 html 상에서는 어려움이 있음
  • 그리고 이를 대체하는 일반적인 방법이 JavaScript와 AJAX를 사용하는 것

✅ AJAX 기본 사용법 with jQuery

  • ajax는 서버와의 비동기 통신을 도와주는 JavaScript 문법으로,
  • 새로고침 없이 서버에 요청을 할 수 있게 해준다!!

🔸 요청하기

  • 일단 ejs파일에서 jquery를 src 로 import 해주고(slim 버전은 ajax를 지원하지 않아서 안됨!!),
  • jquery 문법으로 ajax 요청을 해준다

    < script>
       $.ajax(
           method : '메소드(GET, POST, UPDATE, DELETE)'
           url : '/요청할 경로'
           data : { 속성 : 값 } => 요청과 함께 보낼 데이터(조건)
       ).done( ( 결과 ) => {
           요청 성공시 실행하는 콜백함수
       }.fail( ( 결과 ) => {
           요청 실패시 실행하는 콜백함수
       })
    < /script>


🔸 응답하기 - 데이터 삭제하기

  • server.js 파일에서는 지정한 경로로 delete 코드를 짜주는데,
  • 삭제 조건이 될 data는 request.body에 담긴다!!
  • 또 종종 오브젝트 내 속성에 대한 값데이터가 숫자에서 문자로 변환되어 오는 경우가 있는데, 확인후 변환이 필요하다면 수행해주쟈
  • deleteOne 함수로 조건데이터에 해당하는 값을 삭제할 수 있다
  • 콜백함수에서는 성공 / 실패 판단을 보내줄 수 있는데, 정해진 응답코드를 활용한다 + 메시지도 전송 가능
    => ex) 성공 : 200 / 실패 : 400(사용자 과실), 500(서버 과실) / ...

    app.delete('/요청받은 경로', ( request, response )=>{
       // 값 자료형 확인 후 필요시 변환
       request.body.속성명 = parseInt( request.body.속성명 )
       // 삭제하기
       db.collection( 'collection이름' ).deleteOne( request.data, (error, result) => {
           // 성공 or 실패 판단 보내주기
           response.status(200).send( { message : '성공' } )
       )
    })



profile
🥳믓진 개발자가 되겠어요🥳

0개의 댓글