revokeRolesFromRole

在本页面

Definition

{ revokeRolesFromRole: "<role>",
  roles: [
    { role: "<role>", db: "<database>" } | "<role>",
    ...
  ],
  writeConcern: { <write concern> }
}

该命令具有以下字段:

Field Type Description
revokeRolesFromRole string 从中删除继承角色的角色。
roles array 要删除的继承角色。
writeConcern document 可选的。应用于此操作的write concern级别。 writeConcern文档使用与getLastError命令相同的字段。

roles字段中,您可以同时指定built-in rolesuser-defined roles

要指定运行revokeRolesFromRole的同一数据库中存在的角色,可以使用该角色的名称指定该角色:

"readWrite"

或者,您可以通过文档指定角色,如:

{ role: "<role>", db: "<database>" }

要指定存在于其他数据库中的角色,请与文档一起指定该角色。

Required Access

您必须在数据库上拥有revokeRole action才能撤消该数据库上的角色。

Example

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"
      }
   ]
}
首页