일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 2주차
- 부트스트랩
- 4주차
- 위키백과
- 비동기
- 트랜잭션
- 웹 스크래핑(크롤링)
- nginx
- db
- 3주차
- MongoDB
- OpenAPI
- Node.js
- node winston
- JWT
- 숙제
- cors
- 5주차
- HTTPS
- 개발일지
- 스파르타코딩클럽
- 항해99
- 노드 윈스턴
- Get
- post
- SQL
- NoSQL
- 1주차
- Transaction
- Sequelize
Archives
- Today
- Total
얼음꽃의 일지
[JS] sequelize op 사용 본문
728x90
sequelize 설치가 되어있다는 가정 하에 제가 자주 쓰던 sequlize op 총 형태 모음집 입니다.
const {Op} = require('sequelize');
const db = require('../../?'); // 모델있는 위치
const arr = [1,2,3,4,5]; // order를 형성하기 위한 배열
let offset = 0;
if (page > 1) {
offset = (page - 1) * limit;
}
const a = await db.table_name.findOne({
attributes:
['table_field_name', // 특정 필드명
db.sequelize.fn('사용할 sql 함수', db.sequelize.col('table_field_name'), 'name'), // 함수 적용 값
{exclude: 'table_field_name'} // 제외 할 필드명
],
where: {
'table_field_name' : {
[Op.or] : [or condition] // or 연산할 조건
[Op.and] : [and condition] // and 연산할 조건
[Op.eq]: = // 조건과 같은 것
[Op.ne]: != // 조건과 다른 것
[Op.is]: is // 조건과 같은 것인데 보통 null 이용
[Op.not]: is not // 조건과 다른 것인데 보통 null 이용
[Op.gt]: 'table_name_field > condtion // 조건보다 초과
[Op.gte]: 'table_name_field >= condtion // 조건보다 이상
[Op.lt]: 'table_name_field < condtion // 조건보다 미만
[Op.lte]: 'table_name_field <= condtion // 조건보다 이하
[Op.between]: [a, b] a,b 범위 안 // between a and b ( b포함 X )
[Op.notBetween]: [a, b] a,b 범위 밖 // not between a and b
[Op.in]: [condition] condition 중 // 배열 안 조건에 부합
[Op.notIn]: [condition] condition 제외 // 배열 안 조건 제외
[Op.like]: like 'condition' // condition 앞, 뒤, 양쪽 % 18
[Op.notLike]: not like 'condition' // condition 앞, 뒤, 양쪽 % 19
[Op.startsWith]: 'condition' // 'condition%' 20
[Op.endsWith]: 'condition' <-- '%condition'21
[Op.substring]: 'condition' <-- '%condition%' 22
}
}
order: [['table_field_name', 'asc or desc'], [sequelize.fn('FIELD', sequelize.col('table_field_name'), arr))]] // 정렬(sorting)
group: ['table_field_name'] // 그룹
offset // 시작 페이지
limit // 한번에 가져올 개수
)
* p.s : sequelize 만드는게 힘들때는 Raw Query를 먼저 작성해보고 그거에 필요한 값을 찾은 것도 방법입니다.
참고
https://sequelize.org/docs/v6/core-concepts/model-querying-basics/
728x90
'잡다한 지식' 카테고리의 다른 글
[JS] sequelize raw query 적용 (1) | 2023.10.29 |
---|---|
[JS] sequelize transaction 직접 걸기 (1) | 2023.10.29 |
[JS] ioredis 라이브러리 (0) | 2023.10.11 |
Sql 기본 문법 간단한 정리 (0) | 2023.02.09 |
정규식 (0) | 2023.01.10 |