✅다중 조건(OR)
const { Op } = require("sequelize");
Post.findAll({
where: {
[Op.or]: [
{ authorId: 12 },
{ authorId: 13 }
]
}
});
// SELECT * FROM post WHERE authorId = 12 OR authorId = 13;
Op.or로 다중 조건을 걸 수 있습니다.
약간 다른 구조로도 할 수 있습니다.
const { Op } = require("sequelize");
Post.destroy({
where: {
authorId: {
[Op.or]: [12, 13]
}
}
});
// DELETE FROM post WHERE authorId = 12 OR authorId = 13;
필드별로 쪼개서 넣을 수도 있습니다.
✅ Boolean을 sequelize에서 확인하기
const testparam: testParams = {
empty: ('false' as unknown) as boolean,
};
await testDao.selectList(testparam);
위와같은 형식으로 selectList를 보내보겠습니다.
그러면 'false'로 empty 필드에 들어갈 것입니다.
if (params.empty) {
const realEmpty = params.empty as unknown;
setQuery.where = {
...setQuery.where,
empty: realEmpty === 'true' ? realEmpty : { [Op.or]: [false, { [Op.is]: null }] }, // '=' OR 'IS NULL'검색
};
}
boolean 형식이 문자열로 true인지 false인지를 판단하게 됩니다. if문으로 params의 empty가 있는지 없는지 확인하기 위해서 문자열 형태로 보냅니다.
✅ ( ㅁ= 0 OR ㅁ IS NULL) 문 만들기
{ [Op.or]: [false, { [Op.is]: null }] }, // '=' OR 'IS NULL'검색
Op.or를 사용해서 (empty = 0 OR empty IS NULL) 문을 만들어 줍니다.
출처
728x90
'웹 > Nodejs' 카테고리의 다른 글
[Nodejs] pnpm에서 tsc-watch 사용하기 (0) | 2022.11.19 |
---|---|
[NodeJs] nvm 윈도우 설치 중 C:\Users\������\AppData\Roaming\nvm, The system cannot find the path specified. 문제 해결 (0) | 2022.11.11 |
Sequelize select문 조건 알아보기 (0) | 2022.11.01 |
sequelize 에서 include된 객체를 다시 가져와야 할 때 (0) | 2022.10.26 |
[node.js]프로시져 사용해서 Api 만들어보기(mssql) (0) | 2022.09.20 |