일대일 예제 시퀀싱 – Nodejs 연결
튜토리얼에서는 NodeJS/Express, MySQL을 사용하여 Sequelize One-To-One 예제 연결 모델을 만드는 방법을 안내합니다.
일대일 예시 연관 연속화
참고:
Customer.hasOne(Address)
와 같은 메서드를 호출할 때 Customer 모델이 소스이고 Address 모델이 대상이라고 말합니다.2가지 모델을 정의합니다.
Customer = sequelize.define('customer', {
/* attributes */
});
Address = sequelize.define('address', {
/* attributes */
});
그들 사이에 일대일 연결을 만드는 방법은 무엇입니까?
-> Sequelize는 2가지 방법을 제공합니다.
Address.belongsTo(Customer); // Will add a customerId attribute to Address to hold the primary key value for Customer.
Customer.belongsTo(Address); // Will add an attribute customerId to the Address model.
속하는 것과 hasOne의 차이점은 무엇입니까?
-> hasOne은 대상 모델에 연관 키를 삽입하는 반면 BelongsTo는 소스 모델에 연관 키를 삽입합니다.
아래 코드와 같이
foreignKey
및 targetKey
를 belongsTo
및 hasOne
관계와 결합하여 솔루션을 만들 수 있습니다.
Customer = sequelize.define('customer', {
uuid: {
type: Sequelize.UUID,
defaultValue: Sequelize.UUIDV1,
primaryKey: true
},
/*
more attributes
*/
});
Address = sequelize.define('address', {
/* attributes */
});
Address.belongsTo(Customers, {foreignKey: 'fk_customerid', targetKey: 'uuid'});
Customers.hasOne(Address, {foreignKey: 'fk_customerid', targetKey: 'uuid'});
외래 키
foreignKey
옵션을 제공합니다. 대상 키
targetKey
옵션을 제공합니다. 그것을 저장하는 방법?
var customer;
Customer.create({
firstname: 'Jack',
...
}).then(createdCustomer => {
// Send created customer to client
customer = createdCustomer;
return Address.create({
street: 'W NORMA ST',
...
})
}).then(address => {
customer.setAddress(address)
})
};
엔티티를 가져오는 방법은 무엇입니까? - 튜토리얼: "일대일 예제 연결 연속화 - Nodejs MySQL"
더보기: https://loizenai.com/sequelize-one-to-one-example/
Reference
이 문제에 관하여(일대일 예제 시퀀싱 – Nodejs 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/loizenai/sequelize-one-to-one-example-nodejs-association-1a5c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)