文档菜单
文档首页
/
MongoDB 手册
/ / /

revokeRolesFromRole

本页内容

  • 定义
  • 兼容性
  • 语法
  • 命令字段
  • 所需访问
  • 示例
revokeRolesFromRole

从角色中删除指定的继承角色。

提示

mongosh中,此命令也可以通过db.revokeRolesFromRole()辅助方法.

辅助方法对mongosh用户来说很方便,但它们可能不会返回与数据库命令相同级别的信息。在不需要方便或需要额外返回字段的情况下,请使用数据库命令。

此命令可在以下环境托管的部署中使用

  • MongoDB Atlas:适用于云中MongoDB部署的全托管服务

重要

此命令不支持在M0、M2和M5集群中。有关更多信息,请参阅不支持命令。

该命令具有以下语法

db.runCommand(
{
revokeRolesFromRole: "<role>",
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
],
writeConcern: { <write concern> },
comment: <any>
}
)

该命令具有以下字段

字段
类型
描述
revokeRolesFromRole
string
从该角色删除继承的角色。
roles
array
要删除的继承角色。
writeConcern
document
comment
any

可选。附加到该命令的用户提供的注释。一旦设置,此注释将出现在以下位置的此命令记录旁边

注释可以是任何有效的BSON类型(字符串、整数、对象、数组等)。

roles字段中,您可以指定内置角色用户定义角色

要指定在运行 revokeRolesFromRole 的同一数据库中存在的角色,您可以指定角色的名称。

"readWrite"

或者您可以使用文档指定角色,如下所示:

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

要指定不同数据库中存在的角色,请使用文档指定该角色。

您必须拥有数据库上 revokeRole 操作 权限,才能在该数据库上撤销角色。

emea 数据库中的 purchaseAgents 角色从几个其他角色继承了权限,如 roles 数组中列出。

{
"_id" : "emea.purchaseAgents",
"role" : "purchaseAgents",
"db" : "emea",
"privileges" : [],
"roles" : [
{
"role" : "readOrdersCollection",
"db" : "emea"
},
{
"role" : "readAccountsCollection",
"db" : "emea"
},
{
"role" : "writeOrdersCollection",
"db" : "emea"
}
]
}

以下在 emea 数据库上执行的 revokeRolesFromRole 操作从 purchaseAgents 角色中移除了两个角色。

use emea
db.runCommand( { revokeRolesFromRole: "purchaseAgents",
roles: [
"writeOrdersCollection",
"readOrdersCollection"
],
writeConcern: { w: "majority" , wtimeout: 5000 }
} )

purchaseAgents 角色现在只包含一个角色。

{
"_id" : "emea.purchaseAgents",
"role" : "purchaseAgents",
"db" : "emea",
"privileges" : [],
"roles" : [
{
"role" : "readAccountsCollection",
"db" : "emea"
}
]
}

返回

revokePrivilegesFromRole