On this page
db.grantRolesToRole()
在本页面
Definition
db.
grantRolesToRole
(* rolename , roles , writeConcern *)- 将角色授予user-defined role。
grantRolesToRole
方法使用以下语法:
db.grantRolesToRole( "<rolename>", [ <roles> ], { <writeConcern> } )
grantRolesToRole
方法采用以下参数:
Parameter | Type | Description |
---|---|---|
rolename |
string | 授予子角色的角色名称。 |
roles |
array | 继承角色的数组。 |
writeConcern |
document | 可选的。修改的write concern级别。 writeConcern 文档具有与getLastError命令相同的字段。 |
在roles
字段中,您可以同时指定built-in roles和user-defined roles。
要指定运行db.grantRolesToRole()的同一数据库中存在的角色,可以使用该角色的名称指定该角色:
"readWrite"
或者,您可以通过文档指定角色,如:
{ role: "<role>", db: "<database>" }
要指定存在于其他数据库中的角色,请与文档一起指定该角色。
db.grantRolesToRole()方法包装grantRolesToRole命令。
Behavior
Replica set
如果在副本集上运行,默认情况下将使用majority写关注来执行db.grantRolesToRole()。
Scope
角色可以从其数据库中的其他角色继承特权。在admin
数据库上创建的角色可以从任何数据库中的角色继承特权。
Required Access
您必须在数据库上拥有grantRole action才能在该数据库上授予角色。
Example
以下grantRolesToRole()
操作将products
数据库中的productsReaderWriter
角色更新为_6 角色的inherit:
use products
db.grantRolesToRole(
"productsReaderWriter",
[ "productsReader" ],
{ w: "majority" , wtimeout: 5000 }
)