반응형
다대다 관계(Many to Many)를 설정해 주기 위해서 모델 클래스 내부에 있는 belongsToMany(Model, Option)을 사용하면 된다.
- Option 에는, through 옵션을 사용해서 junction Table을 지정해주어야 한다.
- 같은 테이블을 ManyToMany로 쓴다면, as 옵션을 통해서, Allias 를 주어야 한다. 인터프리터/컴파일러가 다른 테이블로 식별할 수 있도록
예) user 를 sender와 receiver로 Mail이라는 junction table에 넣고 싶은 경우, - OnDelete, OnUpdate등의 옵션을 통해서, 참조하고 있는 필드가 삭제된 경우에 대해 대응 할 수 있다 (REGISTRICT, CASCADE, SET NULL )
module.exports = class A extend Sequelize.Model{ ... static associate(db){ db.A.belongsToMany(A, {through: C, foreignKey: "senderId", as: sender}) db.A.belongsToMany(A, {through: C, foreignKey: "receiverId", as: receiver}) } }
반응형
'서버 개발 > node' 카테고리의 다른 글
[nodejs] 노드js에서 data를 다른 라우터에게 전달해줄 수 있는 방법 (0) | 2021.06.24 |
---|---|
typescript, node.js ,express 서버사이드 환경설정[2020.12.06] (0) | 2020.12.06 |