grantRolesToUser(授予角色)
最后更新:2026-10-09
grantRolesToUser(授予角色)
grantRolesToUser给已有用户追加角色,是在现有角色基础上增量添加,不清除旧角色(与updateUser的整体替换不同)。mongosh中用db.grantRolesToUser(user, roles)。常用内置角色可直接写字符串,跨库角色用{ role, db }对象。需要userAdmin或root权限。
| 分类 | 用户认证 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
db.grantRolesToUser("<用户名>", [ { role: "read", db: "shop" } ])
⚙️ 参数
| roles | 要追加的角色列表,追加而非替换 |
|---|
返回值:返回{ ok: 1 }表示授予成功
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// grantRolesToUser:追加只读角色
use admin
db.grantRolesToUser('reader', [
{ role: 'read', db: 'analytics' }
])
运行结果:
{ ok: 1 }
📌 注意事项
- grant是追加,不清除已有角色
- 角色不存在或权限不足会报错
- 内置角色写字符串,跨库用{ role, db }对象
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
QgrantRolesToUser和updateUser加角色有什么区别?
Agrant追加角色,updateUser的roles整体替换。
Q能授予自定义角色吗?
A能,自定义角色需先用createRole创建。
Q需要什么权限?
AuserAdmin或root权限。