对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

db.grantRolesToRole()(mongosh方法)

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 集群不支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令

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

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

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

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

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