Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

db.revokeRolesFromRole()

在此页面上

  • 定义
  • 兼容性
  • 行为
  • 必需的访问权限
  • 例子
db.revokeRolesFromRole(rolename, roles, writeConcern)

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

重要

mongosh 方法

本页面提供 mongosh 方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。

有关数据库命令,请参阅 revokeRolesFromRole 命令。

如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

db.revokeRolesFromRole() 方法使用以下语法:

db.revokeRolesFromRole( "<rolename>", [ <roles> ], { <writeConcern> } )

db.revokeRolesFromRole() 方法接受以下参数:

Parameter
类型
说明
rolename
字符串
要撤销的角色的名称。
roles
阵列
要删除的继承角色。
writeConcern
文档

可选。操作的写关注级别。请参阅写关注规范

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

要指定运行 db.revokeRolesFromRole() 的同一数据库中存在的角色,可以使用角色名称指定角色:

"readWrite"

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

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

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

此方法可用于以下环境中托管的部署:

  • MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本

  • MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本

如果在副本集上运行,则默认情况下使用 "majority" 写关注执行 db.revokeRolesFromRole()

必须对数据库执行 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数据库执行以下db.revokeRolesFromRole()操作会从purchaseAgents角色中删除两个角色:

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

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

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

后退

db.grantRolesToRole