Node.js Sequelize中的动态关联
我想在sequelize中创建一个动态关联。 假设我有属于某个项目的用户。 这些用户在项目中扮演不同的角色。 例如,一些用户是开发人员,另一些是架构师等Node.js Sequelize中的动态关联,node.js,sequelize.js,Node.js,Sequelize.js,我想在sequelize中创建一个动态关联。 假设我有属于某个项目的用户。 这些用户在项目中扮演不同的角色。 例如,一些用户是开发人员,另一些是架构师等 var User = sequelize.define("user", {...}) var Project = sequelize.define("project", {...}) var ProjectUser = Project.hasMany(Users) 我知道我可以将它们添加为: Project.hasMany(User, {
var User = sequelize.define("user", {...})
var Project = sequelize.define("project", {...})
var ProjectUser = Project.hasMany(Users)
我知道我可以将它们添加为:
Project.hasMany(User, { as: "developers"})
...
我的所有角色都在一个单独的表中
var Role = sequelize.define("role", {...})
如何根据角色建立关联?比如:
var UserProject("userProject", {
userId: ...,
roleId: ....,
projectId: ...
})
Project.hasMany(User, { through: UserProject })
我在sequelize文档中读到,您可以这样做。 更新: 实际上,这给了我做我想做的事情的可能性,但是 我不知道如何查询数据 例如,我如何知道用户拥有哪个角色,尤其是在项目实例中
sequelize.define("project", { }, {
instanceMethods: {
getPublicRepresentation() {
this.users //how do I know the role of the user here?
}
}
})
我仍然遇到的另一个问题是,当我想查询时
Project.findAll({
include: {
model: User
}
})
我如何获得角色等于。。。在哪