grantRolesToRole

在本页面

Definition

grantRolesToRole命令影响该命令运行所在的数据库上的角色。 grantRolesToRole具有以下语法:

{ grantRolesToRole: "<role>",
  roles: [
             { role: "<role>", db: "<database>" },
             ...
         ],
  writeConcern: { <write concern> }
}

grantRolesToRole命令具有以下字段:

Field Type Description
grantRolesToRole string 要添加辅助角色的角色名称。
roles array 继承角色的数组。
writeConcern document 可选的。修改的write concern级别。 writeConcern文档具有与getLastError命令相同的字段。

roles字段中,您可以同时指定built-in rolesuser-defined roles

要指定运行grantRolesToRole的同一数据库中存在的角色,可以使用该角色的名称指定该角色:

"readWrite"

或者,您可以通过文档指定角色,如:

{ role: "<role>", db: "<database>" }

要指定存在于其他数据库中的角色,请与文档一起指定该角色。

Behavior

角色可以从其数据库中的其他角色继承特权。在admin数据库上创建的角色可以从任何数据库中的角色继承特权。

Required Access

您必须在数据库上拥有grantRole action才能在该数据库上授予角色。

Example

以下grantRolesToRole命令将products数据库中的productsReaderWriter角色更新为products数据库中productsReader角色的privileges

use products
db.runCommand(
   { grantRolesToRole: "productsReaderWriter",
     roles: [
              "productsReader"
     ],
     writeConcern: { w: "majority" , wtimeout: 5000 }
   }
)
首页