我不明白如何在sequelizejs中关联对象。
我阅读了文档(http://docs.sequelizejs.com/manual/tutorial/associations.html#associating-objects),但我仍然不了解如何使用它。
想法:我有对象用户和用户登录日志。它的1:M。
示例:
let dbUser = sequelize.define('user', {
name: {
type: Sequelize.STRING
},
email: {
type: Sequelize.STRING
},
password: {
type: Sequelize.STRING
}
});
dbUser.sync({ force: true })
let dbUserLoginLog = sequelize.define('userloginlog', {
text: {
type: Sequelize.STRING
}
});
//create 1:M relation to dbUser
dbUser.hasMany(dbUserLoginLog, { foreignKey: 'loginlog_pk' });
dbUserLoginLog.belongsTo(this.dbUser, { foreignKey: 'loginlog_pk' });
dbUserLoginLog.sync({ force: true })
现在,我可以像这样创建用户:
dbUser.create({
name: req.body.name,
email: req.body.email,
password: hash
});
如何为特定用户创建dbUserLoginLog并添加? 每次用户登录系统时都会创建dbUserLoginLog。
谢谢你的帮助!
答案 0 :(得分:0)
定义关联后,Sequelize会自动为您添加一些方法。从代码的外观来看,我可以像这样使用它:
dbUserLoginLog.create({/*...*/}).then((userLoginLog) => {
dbUser.addUserloginlog([userLoginLog]);
});
有关添加的方法名称,请参阅:http://docs.sequelizejs.com/manual/tutorial/associations.html#naming-strategy