- belongsTo() : 다른 모델의 외래키를 가지는 모델과 일대일 관계설정
- hasOne() : 다른 모델에 대한 일대일 관계 설정
- hasMany() : 다른 모델에 대한 다대일 관계 설정
- belongsToMany: 다른 모델과 다대다 관계 설정 (연결 모델이 필요)
const Post = sequelize.define('post',{
title: Sequelize.STRING,
content: Sequelize.STRING
});
const Comment = sequelize.define('comment', {
text: Sequelize.STRING
});
Post.hasMany(Comment);
Comment.belongsTo(Post);
const User = sequelize.define('user', {
name: Sequelize.STRING
});
const Post = sequelize.define('post', {
title: Sequelize.STRING,
content: Sequelize.STRING,
});
Post.belongsTo(User);
User.hasMany(Post);
일대다 관계는 하나의 모델이 다른 모델의 여러 개의 인스턴스를 가질 수 있다. 다대일 관계는 다른 모델이 하나의 모델과 관계를 가질 수 있다는 것이 차이점이다.
const User = sequelize.define('user', {
name: Sequelize.STRING,
email: Sequelize.STRING
});
const UserAuth = sequelize.define('userAuth', {
name: Sequelize.STRING,
password: Sequelize.STRING
});
User.hasOne(UserAuth);
UserAuth.belongsTo(User);
const user = await User.findByPk(name);
const auth = await user.getUserAuth();
const Student = sequelize.define('student', {
name: Sequelize.STRING
});
const Subject = sequelize.define('subject', {
name: Sequelize.STRING
});
const Enrollment = sequelize.define('enrollment', {});
Student.belongsToMany(Subject, { through: Enrollment });
Subject.belongsToMany(Student, { through: Enrollment });