首页 > 解决方案 > 如何使用基于关联的 sequalize(nodeJs) 从 mysql 中查找数据?

问题描述

我正在开发一个节点 js 项目,将 sequalize 作为我的 ORM,用于从 mysql 获取数据。在此,我需要找到给定用户的所有角色。我的数据库中有 3 个表。1. all_users (userId,userName, etc..) 2. all_roles (roleId, roleName, etc. etc.) 3. user_to_role (userId,roleId) - 映射表

在这里,一个用户可以拥有多个角色。在这种情况下,第三个表中将有许多相同用户的条目。我的联想是这样的。

User.belongsToMany(Role, {as: "Roles", through: "user_to_role"});

现在如何找到给定用户的所有角色?提前致谢

标签: node.jsormsequelize.js

解决方案


一个简单的findAll应该做

User.findAll({
where: {user_id: <user_id> } 
  include: [Roles]
})

推荐阅读