rolesInfo

在本页面

Definition

rolesInfo命令还可以检索作用域为数据库的所有角色。

要匹配数据库上的单个角色,请使用以下形式:

{
  rolesInfo: { role: <name>, db: <db> },
  showPrivileges: <Boolean>,
  showBuiltinRoles: <Boolean>
}

rolesInfo具有以下字段:

Field Type Description
rolesInfo 字符串,文档,数组或整数 返回有关其信息的角色。有关指定角色的语法,请参见Behavior
showPrivileges boolean 可选的。将字段设置为true以显示角色特权,包括从其他角色继承的特权和直接定义的特权。默认情况下,该命令仅返回该角色从中继承特权的角色,并且不返回特定特权。
showBuiltinRoles boolean 可选的。当rolesInfo字段设置为1时,请将showBuiltinRoles设置为true以在输出中包括built-in roles。默认情况下,此字段设置为false,并且rolesInfo: 1的输出仅显示user-defined roles

Behavior

返回单个角色的信息

要从当前数据库中指定角色,请按名称指定角色:

{ rolesInfo: "<rolename>" }

要从另一个数据库指定角色,请通过指定角色和数据库的文档来指定角色:

{ rolesInfo: { role: "<rolename>", db: "<database>" } }

返回多个角色的信息

要指定多个角色,请使用数组。将数组中的每个角色指定为文档或字符串。仅当角色在运行命令的数据库上存在时才使用字符串:

{
  rolesInfo: [
     "<rolename>",
     { role: "<rolename>", db: "<database>" },
     ...
  ]
}

返回数据库中所有角色的信息

要指定运行命令的数据库中的所有角色,请指定rolesInfo: 1。默认情况下,MongoDB 显示数据库中的所有user-defined roles。要同时包含built-in roles,请包含参数值对showBuiltinRoles: true

{ rolesInfo: 1, showBuiltinRoles: true }

Required Access

要查看角色的信息,必须为您明确授予该角色或在角色的数据库上具有viewRole action

Output

每个特权文档都指定了资源上允许的resourcesactions

每个特权文档都指定了资源上允许的resourcesactions

Examples

查看单个角色的信息

以下命令返回在products数据库中定义的角色associate的角色继承信息:

db.runCommand(
    {
      rolesInfo: { role: "associate", db: "products" }
    }
)

以下命令在运行该命令的数据库上返回角色siteManager的角色继承信息:

db.runCommand(
    {
      rolesInfo: "siteManager"
    }
)

以下命令返回在products数据库中定义的角色associate的角色继承和特权。

db.runCommand(
    {
      rolesInfo: { role: "associate", db: "products" },
      showPrivileges: true
    }
)

查看多个角色的信息

以下命令返回两个不同数据库上两个角色的信息:

db.runCommand(
    {
      rolesInfo: [
         { role: "associate", db: "products" },
         { role: "manager", db: "resources" }
      ]
    }
)

以下代码返回角色继承和特权。

db.runCommand(
    {
      rolesInfo: [
         { role: "associate", db: "products" },
         { role: "manager", db: "resources" }
      ],
      showPrivileges: true
    }
)

查看数据库的所有用户定义角色

以下操作将在运行命令的数据库上返回所有user-defined roles,并包含特权:

db.runCommand(
    {
      rolesInfo: 1,
      showPrivileges: true
    }
)

查看数据库的所有用户定义和内置角色

以下操作返回运行命令的数据库上的所有角色,包括内置角色和用户定义角色:

db.runCommand(
    {
      rolesInfo: 1,
      showBuiltinRoles: true
    }
)
首页