기억 휘발 방지소

Sequelize에서 SQL 쿼리 그대로 사용하기 본문

Database/ORM

Sequelize에서 SQL 쿼리 그대로 사용하기

choice91 2022. 2. 17. 18:03
728x90
반응형

Sequelize에서 find, create, update, delete로 CRUD 작업을 할 수 있지만 Raw Query로도 할 수 있다.

const User = require("../models/user"); const result = await User.findAll({});


위에 코드는 find를 사용했고 아래 코드는 SQL문으로 사용했다.

// Raw Query 
const { QueryTypes } = require("sequelize"); 
const { sequelize } = require("../models/index"); 

const query = `SELECT * FROM users`; 
const result = await sequelize.query(query, { type: QueryTypes.SELECT });


바로 값을 집어넣어도 되지만 replacements를 통해 값을 집어넣을 수도 있다.
replacements 배열에 있는 값들이 ? 에 순서대로 대체된다.

// replacements X 
const query = `SELECT * FROM users WHERE name='홍길동'`; 
const result = await sequelize.query(query, { type: QueryTypes.SELECT }); 

// replacements O 
const query = `SELECT * FROM users WHERE name=?`; 
const result = await sequelize.query(query, { 
  type: QueryTypes.SELECT,
  replacements: ['홍길동'], 
});
728x90
반응형