sequelize

sequelize

    sequelize에서 then으로 DML 명령어 결과값 전달

    .then으로 DML 명령어의 결과를 인자로 받을 경우 DML 명령어의 결과 값이 배열안에 객체형태로 하나하나씩 저장된다. 호출할 때마다 .then안의 인자에 객체가 추가된다. await Favorites.findAll({ where: { userId, postId }, }).then((find) => { console.log(find); if (find.length) { res.status(412).send({ errorMessage: "이미 좋아요를 했습니다.", }); return; } }); 위 코드에서 find를 출력해보면 findAll이 호출될 때마다 find 배열 안에 객체가 추가되는 것을 볼 수 있다.

    sequelize Raw query 사용하기

    sequelize query를 사용하면 mysql 로우쿼리를 사용할 수 있다. 또한 mysql 모듈을 사용할 필요가 없어진다. mysql.createConnection도 지정할 필요가 없어진다. 사용법 기본적으로 sequelize.query는 결과 배열과 메타 데이터 (예 : 영향을받는 행의 양 등)를 포함하는 개체의 두 인수를 반환한다. const [results, metadata] = await sequelize.query("UPDATE users SET y = 42 WHERE x = 12"); // 결과는 빈 배열이되고 메타 데이터에는 영향을받는 행 수가 포함됩니다. metadata를 쓸 필요 없는 경우 다음과 같이 쓸 수도 있다. const { QueryTypes } = require('seque..