Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

db.grantRolesToRole()

在此页面上

  • 定义
  • 兼容性
  • 行为
  • 必需的访问权限
  • 例子
db.grantRolesToRole(rolename, roles, writeConcern)

用户定义的角色授予角色。

重要

mongosh 方法

本页面提供 mongosh 方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。

有关数据库命令,请参阅 grantRolesToRole 命令。

如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

db.grantRolesToRole() 方法使用以下语法:

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

db.grantRolesToRole() 方法接受以下参数:

Parameter
类型
说明
rolename
字符串
要授予子角色的角色名称。
roles
阵列
要继承的角色数组。
writeConcern
文档

可选。操作的写关注级别。请参阅写关注规范

roles 字段中,可以指定内置角色用户自定义角色

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

"readWrite"

或者,可以使用文档指定角色,如下所示:

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

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

此方法可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

重要

M 0 、M 2和 M 5集群不支持此命令。 有关更多信息,请参阅不支持的命令。

如果在副本集上运行,则默认情况下使用 "majority" 写关注执行 db.grantRolesToRole()

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

必须对数据库执行 grantRole 操作才能在该数据库上授予角色。

以下db.grantRolesToRole()操作更新products数据库中的productsReaderWriter角色,以继承productsReader角色的特权

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

后退

db.revokePrivilegesFromRole