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