面试题答案
一键面试- 创建自定义角色:
- 连接到MongoDB数据库,使用
mongo
命令进入MongoDB shell。 - 切换到要创建角色的数据库,例如
use yourDatabase
。 - 使用
db.createRole()
命令创建角色,示例如下:
上述命令创建了一个名为db.createRole( { role: "yourCustomRole", privileges: [ { resource: { db: "yourDatabase", collection: "yourCollection" }, actions: [ "find", "insert", "update", "delete" ] } ], roles: [] } )
yourCustomRole
的角色,该角色对yourDatabase
数据库中的yourCollection
集合具有find
(读)、insert
(写)、update
(写)和delete
(删除文档)权限。roles: []
表示该角色不继承其他角色的权限。 - 连接到MongoDB数据库,使用
- 将角色赋予特定用户:
- 切换到
admin
数据库,因为管理用户相关操作通常在admin
数据库进行,使用use admin
。 - 使用
db.grantRolesToUser()
命令将角色赋予用户,示例如下:
上述命令将db.grantRolesToUser( "yourUsername", [ { role: "yourCustomRole", db: "yourDatabase" } ] )
yourCustomRole
角色赋予了yourUsername
用户,该用户在yourDatabase
数据库中具有yourCustomRole
角色定义的权限。 - 切换到
注意:请将yourDatabase
、yourCollection
、yourCustomRole
和yourUsername
替换为实际的数据库名、集合名、角色名和用户名。