sequelize에서 bulkCreate해야하는 상황이 있습니다. 여기서는 bulkCretae의 옵션을 사용해서 update를 하려합니다.
다른방법
bulkCreate option - updateOnDeuplicate
const result = await User.bulkCreate(updateUsersDto, {
updateOnDuplicate: ["name"]
});
Sequelize의 bulkCreate option 중 updateOnDeuplicate를 사용하면 일괄 upsert를 칠 수 있습니다. 가장 많이 사용되는 방법이지만, 일부 컬럼을 대상으로는 사용할 수 없습니다. update가 아니라, upsert 개념입니다. 즉, 유니크한 키가 필요합니다.
기본으로 id를 unique 키로 찾습니다. 하지만 다른 칼럼을 기준으로 update를 하고 싶을 때 그 칼럼이 unique 키가 되어야 합니다.
위 그림은 sql문이 나오는 형태입니다.
728x90
'웹 > Nodejs' 카테고리의 다른 글
[npm] Error: EPERM: operation not permitted, mkdir '\node_modules' 에러가 날 때 (0) | 2023.03.15 |
---|---|
npm과 npx의 차이점 (0) | 2023.03.14 |
✅ [Nodejs] Sequelize에서 값 증가,감소 update 하기 (0) | 2022.12.20 |
✅ [Nodejs] Swagger를 express, Typescript에 적용하기 (0) | 2022.12.08 |
✅ [NodeJs] sequelize에서 관계설정할 때 column 이름과 reference 이름을 달리해야 한다! (0) | 2022.11.30 |