dropRole
定义
dropRole
删除从运行此命令的数据库中删除用户定义的角色。
提示
在
mongosh
中,此命令也可以通过db.dropRole()
辅助方法运行.辅助方法对
mongosh
用户来说很方便,但它们可能不会返回与数据库命令相同级别的信息。在不需要便利性或需要额外的返回字段的情况下,请使用数据库命令。
兼容性
此命令适用于以下环境部署
MongoDB Atlas:云中MongoDB部署的全托管服务
重要
此命令不支持在M0、M2、M5和M10+集群中。更多信息,请参阅不支持命令。
MongoDB企业版:基于订阅的MongoDB自管理版本
MongoDB社区版:源代码可用的免费使用、自管理的MongoDB版本
语法
命令具有以下语法
db.runCommand( { dropRole: "<role>", writeConcern: { <write concern> }, comment: <any> } )
命令字段
命令具有以下字段
字段 | 类型 | 描述 |
---|---|---|
dropRole | string | 要从数据库中删除的用户自定义角色的名称。 |
writeConcern | document | 可选。操作写入关注级别的设置。请参阅写入关注规范。 |
comment | any | 可选。用户提供的与该命令关联的注释。一旦设置,此注释将出现在以下位置的记录旁边
注释可以是任何有效的BSON类型(字符串、整数、对象、数组等)。 |
行为
身份验证
当在mongod
上删除角色时,之前已认证的用户仍然登录到数据库,但立即失去该角色的权限。
当在mongos
上删除角色时,之前已认证的用户仍然登录到数据库,但在缓存刷新时失去该角色的权限。缓存刷新在userCacheInvalidationIntervalSecs
参数指定的时时间后自动刷新,或者在您运行invalidateUserCache
命令时手动刷新。
所需访问权限
示例
以下操作从 products
数据库中移除了 readPrices
角色
use products db.runCommand( { dropRole: "readPrices", writeConcern: { w: "majority" } } )