Definição
db.grantRolesToUser(username, roles, writeConcern)Concede funções adicionais a um usuário.
Importante
Método mongosh
Esta página documenta um método.
mongoshEsta não é a documentação para comandos de banco de dados ou drivers específicos de idioma, como Node.js.Para o comando do banco de dados, consulte o comando
grantRolesToUser.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
O método utiliza a seguinte
db.grantRolesToUser()sintaxe:db.grantRolesToUser( "<username>", [ <roles> ], { <writeConcern> } ) O método utiliza os seguintes
db.grantRolesToUser()argumentos:ParâmetroTipoDescriçãouserstring
O nome do usuário a quem conceder funções.
rolesarray
Uma série de funções adicionais a serem concedidas ao usuário.
writeConcerndocumento
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 role que existe no mesmo banco de dados onde o é executado, você pode especificar a role com o nome
db.grantRolesToUser()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.
O método
db.grantRolesToUser()grantRolesToUserenvolve o comando.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
Importante
Este comando não é aceito em clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a 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
Comportamento
réplicaSet
Se executar em um conjunto de réplicas, db.grantRolesToUser() o será executado usando "majority" o preocupação de gravação de por padrão.
Acesso necessário
Você deve ter grantRole como uma ação em um banco de dados para conceder uma função neste banco de dados.
Exemplo
Dado um usuário accountUser01 no banco de dados do products com os seguintes roles:
"roles" : [ { "role" : "assetsReader", "db" : "assets" } ]
A operação a seguir fornece db.grantRolesToUser() accountUser01 a função readWrite no products banco de dados e a função read no stock banco de dados.
use products db.grantRolesToUser( "accountUser01", [ "readWrite" , { role: "read", db: "stock" } ], { w: "majority" , wtimeout: 4000 } )
O usuário accountUser01 no banco de dados de products agora tem os seguintes roles:
"roles" : [ { "role" : "assetsReader", "db" : "assets" }, { "role" : "read", "db" : "stock" }, { "role" : "readWrite", "db" : "products" } ]