revokeRolesFromUser

在本页面

Definition

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

该命令具有以下字段:

Field Type Description
revokeRolesFromUser string 要从中删除角色的用户。
roles array 从用户中删除的角色。
writeConcern document 可选的。修改的write concern级别。 writeConcern文档具有与getLastError命令相同的字段。

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

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

"readWrite"

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

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

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

Required Access

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

Example

products数据库中的accountUser01用户具有以下角色:

"roles" : [
    { "role" : "assetsReader",
      "db" : "assets"
    },
    { "role" : "read",
      "db" : "stock"
    },
    { "role" : "readWrite",
      "db" : "products"
    }
]

以下revokeRolesFromUser命令删除了用户的两个角色:stock数据库上的read角色和products数据库上的readWrite角色,该数据库也是该命令在其上运行的数据库:

use products
db.runCommand( { revokeRolesFromUser: "accountUser01",
                 roles: [
                          { role: "read", db: "stock" },
                          "readWrite"
                 ],
                 writeConcern: { w: "majority" }
             } )

products数据库中的用户accountUser01现在只剩下一个角色:

"roles" : [
    { "role" : "assetsReader",
      "db" : "assets"
    }
]
首页