프로그래밍언어/Node.js
Nodejs Sequelize raw query 사용법
D.Y
2019. 8. 13. 13:18
반응형
안녕하세요.
ORM을 사용하게 되면 raw query를 전혀 사용하지 않을 수 있지만, 간혹 사용해야 하는 상황이 발생하기도 합니다.
오늘은 Nodejs의 ORM인 Sequelize에서 raw query 사용하는 방법에 대해서 알아보도록 하겠습니다.
Dynamic SQL을 사용한 나쁜 예
let query = `
SELECT * FROM user
LEFT JOIN team ON user.team_id = team.id
WHERE user.id = ${userId}
`;
let user: User = await sequelize.query(
query,
{
replacements: {personId: person.id},
type: Sequelize.QueryTypes.SELECT,
raw: true
});
Replacements를 사용한 좋은 예
let query = `
SELECT * FROM user
LEFT JOIN team ON user.team_id = team.id
WHERE user.id = :userId
`;
let user: User = await sequelize.query(
query,
{
replacements: {personId: person.id},
type: Sequelize.QueryTypes.SELECT,
raw: true
});
Replacements 외에도 Sequelize에서는 Bind Parameter를 사용하는 방법도 제공하고 있습니다.
아래 주소를 참고해주세요.
https://sequelize.org/master/manual/raw-queries.html#replacements
Manual | Sequelize
Raw queries As there are often use cases in which it is just easier to execute raw / already prepared SQL queries, you can use the function sequelize.query. By default the function will return two arguments - a results array, and an object containing metad
sequelize.org
모두 즐거운 코딩하세요~
반응형