211111 TIL

CoderS·2021년 11월 11일
0

TIL DAY 98

오늘 배운 일

✔️ Node.js 백엔드 개발

  • 특정 직원 정보 조회하기 - findOne

    • 하나의 정보만 조회

      예 )

      findOne 메소드도 promise 객체를 리턴하기 때문에, await을 붙였고
      라우터 핸들러 앞에 async을 붙여줬다.

      테이블에 있는 여러 row들 중에서도 id column에 특정 값을 가진 row 하나만을 가져와야한다.

      조건 객체를 findOne 메소드에 넣어준다.

      GET request를 보내줘서 특정 정보만 조회해보겠다.

      터미널에서 코드를 실행시키고..

      test.http에서

      members 뒤에 1을 붙여준다.

      결과값 :

      id column의 값이 1인 직원의 정보가 response로 잘 온다.

      만약에 없는 데이터를 불러오면 어떻게 되나?

      존재하지 않는 11번째 데이터를 불러오면....

      멤버가 없다고 뜬다.

      중요한 점!

      • 조건을 설정할 때는 언제나 where 프로퍼티를 가진 조건 객체를 설정해두면 된다.
  • 새로운 직원 정보 추가하기

    예 )

    수정하기 전 코드

    새로운 정보를 추가하기 위해 위의 코드를 조금씩 수정해본다.

    바뀐 코드

    지금 코드에서는 request의 바디에 있는 새로운 직원 정보를 받아서, member 모델에 build라는 메소드안에 넣고 실행을했다.

    build는 하나의 member 모델 객체를 생성하고 리턴한다.
    해당 모델 객체는 앞으로 테이블에서 하나의 row가 될 존재이다.

    그리고 이 member 모델 객체에 save라는 메소드를 호출하면 실제로 테이블에 해당 member 모델 객체 내용대로 새로운 row가 추가된다.

    save 또한 promise 객체를 리턴하는 비동기함수이기 때문에 async과 await을 추가했다.

    다음으로, 새로운 직원 정보를 추가해보겠다.

    서버를 작동시키고 (npm run dev)

    test.http 파일로 가서

    위에 있는 정보를 추가해본다.

    Send Request를 누르고

    GET request로 모든 직원을 조회하면....

    잘 출력이 된다.

    이번에는 12번이 될 새로운 직원을 추가해보겠다.

    결과적으로...

    중요한 사실!

    id 프로퍼티를 지워서 POST request를 보내도 아무런 문제없이 잘 출력이된다.

    그리고 재미있는 사실은...

    위에 코드에서, build 메소드와 save 메소드를 굳이 쓰지 않고, 다 간편하게 직원을 추가할 수 있는 방법이 있다.

    create라는 메소드를 사용하면 된다. (create => build + save)

마지막으로 :

  • 오늘은 특정 직원 한 명을 조회하는 방법과 새로운 직원을 추가하는 방법에 대해 배워봤다.
  • 오늘도 비동기식 실행에서 필요한 await과 async를 사용해봤는데, 앞으로도 배우면서 계속 쓰일 것 같다.
profile
하루를 의미있게 살자!

0개의 댓글