시퀄라이즈 ORM (3)

김무연·2023년 12월 20일

Backend

목록 보기
45/49

sequelize의 기능은 javascript로 SQL문을 실행해주는 것이라 하였다. 이를 코드로 비교를 해보면 아래와 같다

위의 SQL구문이 아래의 js 구문으로 실행되게 해주는 것이다.

  • type형이 다르기 때문에 주의 해야 함 (mysql : 0,1 , js: boolean)
  • 위의 코드 처럼 create, findAll 등은 모두 promise이기 때문에 await, then 으로 받아줘야 함
  • 일부 컬럼만 받아오고 싶을 때는 , attributes
  • 특수한 기능들인 경우 Sequelize.Op 의 연산자 (gt, or 등 사용)
  • or은 또는, gt는 초과, AND조건은 그냥 where에 조건 두 개를 써주면 된다.

정렬하기

  • 기본적으로 정렬은 2차원 배열로 적어 줌, 왜냐하면 1순위 정렬, 2순위 정렬로, 정렬의 순서가 필요할 때, [ ['age', 'DESC'] , [ 'name', 'ASC'] ] 이렇게 써줄 수 있기 때문

Offset, Limit 기준 페이징

  • offset : 시작하는 숫자 limit : 끝나는 숫자
  • 이 두 숫자를 기준으로 뭉텅 뭉텅 읽어오는 것이다.
  • 예를 들어, 1번째 - 5번째 칼럼을 읽어와라는 (offset 0, limit 5)로 표현한다.

수정

  • where는 꼭 적어줘야 함, where가 없을 시 모든 컬럼이 다 update가 되는 불상사 발생

삭제

  • 마찬가지로 삭제도 where 조건을 꼭 붙여줘야 함, 안 그러면 모두 삭제 됨
User.destory({
	where: {id : { [Op.in] : [1,3,5]} }
})

// id가 1,3,5를 지워라

공식 문서가 짱
https://sequelize.org/docs/v6/core-concepts/model-querying-basics/

profile
Notion에 정리된 공부한 글을 옮겨오는 중입니다... (진행중)

0개의 댓글