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

revokeRolesFromRole

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 必需的访问权限
  • 例子
revokeRolesFromRole

从角色中删除指定的继承角色。 revokeRolesFromRole命令采用以下语法:

提示

mongosh中,该命令也运行通过 db.revokeRolesFromRole()辅助方法运行。

辅助方法对 mongosh 用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。

此命令可用于以下环境中托管的部署:

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

重要

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

该命令具有以下语法:

db.runCommand(
{
revokeRolesFromRole: "<role>",
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
],
writeConcern: { <write concern> },
comment: <any>
}
The command has the following fields:
.. list-table::
:header-rows: 1
:widths: 20 20 80
* - Field
- Type
- Description
* - ``revokeRolesFromRole``
- string
- The role from which to remove inherited roles.
* - ``roles``
- array
- The inherited roles to remove.
* - ``writeConcern``
- document
- .. include:: /includes/fact-write-concern-spec-link.rst
* - ``comment``
- any
- .. include:: /includes/extracts/comment-content.rst
.. |local-cmd-name| replace:: :dbcommand:`revokeRolesFromRole`
.. include:: /includes/fact-roles-array-contents.rst

必须对数据库执行 revokeRole 动作才能撤消该数据库上的角色。

emea数据库中的purchaseAgents角色继承了其他几个角色的权限,如roles数组中所列:

{
"_id" : "emea.purchaseAgents",
"role" : "purchaseAgents",
"db" : "emea",
"privileges" : [],
"roles" : [
{
"role" : "readOrdersCollection",
"db" : "emea"
},
{
"role" : "readAccountsCollection",
"db" : "emea"
},
{
"role" : "writeOrdersCollection",
"db" : "emea"
}
]
}

emea数据库执行以下revokeRolesFromRole操作会从purchaseAgents角色中删除两个角色:

use emea
db.runCommand( { revokeRolesFromRole: "purchaseAgents",
roles: [
"writeOrdersCollection",
"readOrdersCollection"
],
writeConcern: { w: "majority" , wtimeout: 5000 }
} )

purchaseAgents角色现在只包含一个角色:

{
"_id" : "emea.purchaseAgents",
"role" : "purchaseAgents",
"db" : "emea",
"privileges" : [],
"roles" : [
{
"role" : "readAccountsCollection",
"db" : "emea"
}
]
}

后退

revokePrivilegesFromRole