반응형
이제 OneToMany(hasMany) 차례이다.
http://docs.sequelizejs.com/manual/tutorial/associations.html에서 OneToMany() 부분을 번역했다.
One-To-Many associations (hasMany)
One-To-Many는 하나의 source에서 여러개의 target에 연결되어 있는 형태를 말한다.
target들은 정확히 하나의 source에 연결되어있다.
const User = sequelize.define('user', {/* ... */})
const Project = sequelize.define('project', {/* ... */})
// 먼저 hasMany 를 정의한다.
Project.hasMany(User, {as: 'Workers'})
이것을 실행해보면 projectId
또는 project_id
컬럼이 User 모델에 생성될 것이다.
또한 Project는 getWorkers
, setWorkers
를 얻게 된다.
가끔씩 다른 컬럼을 참조할때가 있을텐데, 이럴때는 sourceKey 옵션을 사용한다.
const City = sequelize.define('city', { countryCode: Sequelize.STRING });
const Country = sequelize.define('country', { isoCode: Sequelize.STRING });
// 이렇게 countryCode를 이용하여 contries와 cities를 연결할 수 있다.
Country.hasMany(City, {foreignKey: 'countryCode', sourceKey: 'isoCode'});
City.belongsTo(Country, {foreignKey: 'countryCode', targetKey: 'isoCode'});
지금까지 우리는 일반적인 관계 설정에 대해 다뤘다.
다음장에서 Many-To-Many 관계를 통해 좀 더 복잡한 구조에 대해 배워보자.
'Coding > Etc' 카테고리의 다른 글
Sequelize.js 로 게시글-댓글 API 설계 방법 (0) | 2018.07.18 |
---|---|
Sequelize.js Association belongsToMany 정리 (0) | 2018.07.16 |
Sequelize.js Association belongsTo 정리 (0) | 2018.07.15 |
Javascript ES6 async/await에 대해서 (0) | 2018.07.11 |
Node.js express CORS 허용하는 방법 (0) | 2018.07.10 |