使用expressjs mysql,nodejs

时间:2019-02-22 19:45:30

标签: node.js json express

我的问题是如何形成这样的结果

[
  {
    "id_user": 1,
    "name": "foo",
    "last_name": "bar",
    "id_rol": {
        "id_rol": 1,
        "rol_name": "admin"
    }
},
{
    "id_user": 2,
    "name": "foo2",
    "last_name": "bar2",
    "id_rol": {
        "id_rol": 2,
        "rol_name": "reporter"
    }
}

]

考虑,我有两个查询,一个用户,另一个角色 用户

[
{
    "id_user": 1,
    "name": "foo",
    "last_name": "bar",
    "id_rol": 1

} ]

角色

[
{
    "id_rol": 1,
    "rol_name": "foo"
}

]

基本上,我需要使用id_rol,rol_name而不是id组成一个对象, 感谢您的帮助

1 个答案:

答案 0 :(得分:0)

此代码假定每个用户仅具有一个角色。它还假定角色列表始终具有用户角色。

基本上,遍历用户。为每个用户获取其角色ID。使用角色ID筛选出匹配的角色,并将其分配给用户对象。

function mapRoleToUsers(users, roles) {
    for(let user of users) {
        let userRoleId = user.id_rol
        let userRole = roles.filter((role)=>{return role.id_rol == userRoleId})
        user.id_rol = userRole[0]
    }
}