On this page
db.revokeRolesFromUser()
在本页面
Definition
db.
revokeRolesFromUser
( )- 从当前数据库上的用户中删除一个或多个角色。 db.revokeRolesFromUser()方法使用以下语法:
db.revokeRolesFromUser( "<username>", [ <roles> ], { <writeConcern> } )
revokeRolesFromUser
方法采用以下参数:
Parameter | Type | Description |
---|---|---|
user |
string | 要撤消角色的用户的名称。 |
roles |
array | 从用户中删除的角色。 |
writeConcern |
document | 可选的。修改的write concern级别。 writeConcern 文档具有与getLastError命令相同的字段。 |
在roles
字段中,您可以同时指定built-in roles和user-defined roles。
要指定运行db.revokeRolesFromUser()的同一数据库中存在的角色,可以使用该角色的名称指定该角色:
"readWrite"
或者,您可以通过文档指定角色,如:
{ role: "<role>", db: "<database>" }
要指定存在于其他数据库中的角色,请与文档一起指定该角色。
db.revokeRolesFromUser()方法包装revokeRolesFromUser命令。
Behavior
Replica set
如果在副本集上运行,默认情况下将使用majority写关注来执行db.revokeRolesFromUser()。
Required Access
您必须在数据库上拥有revokeRole action才能撤消该数据库上的角色。
Example
products
数据库中的accountUser01
用户具有以下角色:
"roles" : [
{ "role" : "assetsReader",
"db" : "assets"
},
{ "role" : "read",
"db" : "stock"
},
{ "role" : "readWrite",
"db" : "products"
}
]
以下db.revokeRolesFromUser()方法删除了用户的两个角色:stock
数据库上的read角色和products
数据库(也是该方法在其上运行的数据库)上的readWrite角色:
use products
db.revokeRolesFromUser( "accountUser01",
[ { role: "read", db: "stock" }, "readWrite" ],
{ w: "majority" }
)
products
数据库中的用户accountUser01
用户现在只剩下一个角色:
"roles" : [
{ "role" : "assetsReader",
"db" : "assets"
}
]