Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Sequelize中的动态关联_Node.js_Sequelize.js - Fatal编程技术网

Node.js 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, {

我想在sequelize中创建一个动态关联。 假设我有属于某个项目的用户。 这些用户在项目中扮演不同的角色。 例如,一些用户是开发人员,另一些是架构师等

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
    }
})
我如何获得角色等于。。。在哪