On this page
db.revokeRolesFromRole()
在本页面
Definition
db.
revokeRolesFromRole
(* rolename , roles , writeConcern *)- 从角色中删除指定的继承角色。
revokeRolesFromRole
方法使用以下语法:
db.revokeRolesFromRole( "<rolename>", [ <roles> ], { <writeConcern> } )
revokeRolesFromRole
方法采用以下参数:
Parameter | Type | Description |
---|---|---|
rolename |
string | 撤销角色的角色名称。 |
roles |
array | 要删除的继承角色。 |
writeConcern |
document | 可选的。应用于此操作的write concern级别。 writeConcern 文档使用与getLastError命令相同的字段。 |
在roles
字段中,您可以同时指定built-in roles和user-defined roles。
要指定运行db.revokeRolesFromRole()的同一数据库中存在的角色,可以使用该角色的名称指定该角色:
"readWrite"
或者,您可以通过文档指定角色,如:
{ role: "<role>", db: "<database>" }
要指定存在于其他数据库中的角色,请与文档一起指定该角色。
db.revokeRolesFromRole()方法包装revokeRolesFromRole命令。
Behavior
Replica set
如果在副本集上运行,默认情况下将使用majority写关注来执行db.revokeRolesFromRole()。
Required Access
您必须在数据库上拥有revokeRole action才能撤消该数据库上的角色。
Example
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"
}
]
}