Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

db.grantRolesToRole()

Nesta página

  • Definição
  • Compatibilidade
  • Comportamento
  • Acesso necessário
  • Exemplo
db.grantRolesToRole(rolename, roles, writeConcern)

Concede roles para umrole definido pelo usuário .

Importante

Método mongosh

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

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

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

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

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

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

Parâmetro
Tipo
Descrição
rolename
string
O nome da função para a qual conceder subfunções.
roles
array
Uma série de funções das quais herdar.
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.grantRolesToRole() é 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:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Importante

Este comando não é suportado em clusters M0, M2 e M5 . Para obter mais informações, 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.grantRolesToRole() é executado usando a preocupação de gravação "majority" por padrão.

Um papel pode herdar privilégios de outros papéis em seu banco de dados. Um papel criado no banco de dados do admin pode herdar privilégios de papéis em qualquer banco de dados.

Você deve ter grantRole como uma ação em um banco de dados para conceder uma função neste banco de dados.

A seguinte operação do db.grantRolesToRole() atualiza o role productsReaderWriter no banco de banco de dados products para herdar os privilégios do role productsReader :

use products
db.grantRolesToRole(
"productsReaderWriter",
[ "productsReader" ],
{ w: "majority" , wtimeout: 5000 }
)

Voltar

db.revokePrivilegesFromRole