Menu Docs

db.revokeRolesFromRole()

db.revokeRolesFromRole(rolename, roles, writeConcern)

Removes the specified inherited roles from a role.

Importante

Método mongosh

Esta página documenta um método mongosh. Esta não é a documentação para comandos de banco de dados nem drivers específicos de linguagem, como Node.js.

Para o comando do banco de dados, consulte o comando revokeRolesFromRole.

Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.

O método db.revokeRolesFromRole() utiliza a seguinte sintaxe:

db.revokeRolesFromRole( "<rolename>", [ <roles> ], { <writeConcern> } )

O método db.revokeRolesFromRole() utiliza os seguintes argumentos:

Parâmetro
Tipo
Descrição

rolename

string

The name of the role from which to revoke roles.

roles

array

The inherited roles to remove.

writeConcern

documento

Opcional. O nível da write concern para a operação. Consulte Especificação de write concern.

No campo roles, é possível especificar roles incorporadas e roles definidas pelo usuário.

Para especificar uma função que existe no mesmo banco de dados onde o db.revokeRolesFromRole() é executado, você pode especificar a função com o próprio nome dela:

"readWrite"

Ou você pode especificar a role com um documento, como feito a seguir:

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

Para especificar uma role existente em outro banco de dados, especifique-a com um documento.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

Importante

Este comando não é suportado em clusters MongoDB Atlas . Para obter informações sobre o suporte do Atlas para todos os comandos, consulte Comandos não suportados.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

Se executado em um conjunto de réplicas, db.revokeRolesFromRole() é executado usando a preocupação de gravação "majority" por padrão.

É necessário ter a revokeRole ação em um banco de dados para revogar um role nesse banco de dados.

The purchaseAgents role in the emea database inherits privileges from several other roles, as listed in the roles array:

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

The following db.revokeRolesFromRole() operation on the emea database removes two roles from the purchaseAgents role:

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

The purchaseAgents role now contains just one role:

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