db.revokeRolesFromUser()

在本页面

Definition

db.revokeRolesFromUser( "<username>", [ <roles> ], { <writeConcern> } )

revokeRolesFromUser方法采用以下参数:

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

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

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

"readWrite"

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

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

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

db.revokeRolesFromUser()方法包装revokeRolesFromUser命令。

Behavior

Replica set

如果在副本集上运行,默认情况下将使用majority写关注来执行db.revokeRolesFromUser()

Required Access

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

Example

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

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

以下db.revokeRolesFromUser()方法删除了用户的两个角色:stock数据库上的read角色和products数据库(也是该方法在其上运行的数据库)上的readWrite角色:

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

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

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