[Node] findOne 메소드와 조건추가 이해하기

BE/NodeJS 2023. 5. 15.
  • findOne메소드란?
  • findOne메소드 사용예시 (조건 넣기)
  • findOne과 Promise

 


 

 

findOne메소드란?

 

주어진 조건을 만족하는 첫 번째 레코드를 반환한다.

주로 고유한 값(예: 사용자 ID 또는 이메일 주소)을 가진 레코드를 찾을 때 사용된다.

 

더보기: 레코드란?

더보기

레코드

 

데이터베이스 테이블의 한 행을 나타낸다. 하나의 레코드는 테이블의 각 컬럼에 해당하는 여러 개의 필드로 구성된다.

쉽게 얘기하면 하나의 데이터를 말한다.

 

 

 

findOne메소드 사용예시와 조건추가

 

findOne메소드는 객체 안에서 속성값(프로퍼티)으로 조건들을 받는다. findAll() 역시 마찬가지이다.

각 조건은 {}로 조건값을 받는 것도 있고, 배열로 받는 것들도 있다.(예를 들면 order)

 

User = 모델(Model) 알아보러 가기

 

const user = awair User.findOne({ where: { email: 'user@example.com' } });

 

 

 

findOne과 Promise:   Promise 이해하기

 

findOne메소드는 Promise를 리턴한다. 그러므로 async~await~을 사용하거나 .then()으로 체이닝을 해주어야 한다.

다만 주의할 점은 조건을 만족하는 레코드가 여러 개 있다면, 그중 첫 번째 레코드만 리턴한다. 여러 개를 리턴해야 한다면 findAll메소드를 사용해야 한다.