db.grantRolesToRole()

在本页面

Definition

grantRolesToRole方法使用以下语法:

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

grantRolesToRole方法采用以下参数:

Parameter Type Description
rolename string 授予子角色的角色名称。
roles array 继承角色的数组。
writeConcern document 可选的。修改的write concern级别。 writeConcern文档具有与getLastError命令相同的字段。

roles字段中,您可以同时指定built-in rolesuser-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 }
)
首页