Sul*_*dat 3 postgresql node.js sequelize.js
我正在使用sequelizejs和postgres构建用户和角色关联.每个用户可以拥有一个角色,每个角色都属于许多用户.
我已经设置了这样的关联
global.db.User.belongsTo(global.db.Role, {foreignKey: 'role_id', as: 'Role'});
global.db.Role.hasMany(global.db.User, {foreignKey: 'role_id'});
Run Code Online (Sandbox Code Playgroud)
现在,当我在app.js中设置对象并同步sequelize时,它不起作用:
var role = Role.build({ name: 'foo', permissions: 'bar'});
var user = User.build({username: 'sultansaadat', email: 'abc@abc.com', password: 'sultan123', isActive: true});
db.sequelize.sync().complete(function (err) {
if (err) {
throw err
} else {
role.save();
user.setRole(role);
user.save();
}
Run Code Online (Sandbox Code Playgroud)
});
我期待sequelize表现得像所有正常的ORM一样,但我认为这里有问题,或者我做错了什么.
究竟什么不起作用?
node.js,因此sequelize本质上也是异步的.当您调用role.save时,该调用将在数据库实际返回之前返回.在将角色分配给用户之前,您必须等待保存角色并分配ID.
role.save().done(function (err, role) {
user.save().done(function (err, user) {
user.setRole(role);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1096 次 |
| 最近记录: |