grantRolesToUser (Conceder Papéis)
Última atualização: 2026-10-09
grantRolesToUser (Conceder Papéis)
grantRolesToUser acrescenta papéis a um usuário existente — de forma incremental, mantendo todos os papéis atuais (diferente da substituição completa do updateUser). No mongosh chame db.grantRolesToUser(usuário, papéis). Papéis embutidos comuns podem ser strings simples; papéis entre bancos usam objetos { role, db }. Exige userAdmin ou root.
| Categoria | Autenticação de Usuário |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.grantRolesToUser("<username>", [ { role: "read", db: "shop" } ])
⚙️ Parâmetros
| roles | Papéis a adicionar; anexados, não substituídos. |
|---|
Retorno:Retorna { ok: 1 } em caso de sucesso
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// grantRolesToUser: adiciona um papel de leitura
use admin
db.grantRolesToUser('reader', [
{ role: 'read', db: 'analytics' }
])
Saída:
{ ok: 1 }
📌 Notas
- Conceder é aditivo — os papéis existentes permanecem
- Papéis desconhecidos ou privilégios insuficientes geram erro
- Use strings para papéis embutidos e objetos { role, db } entre bancos
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QConceder via grantRolesToUser vs updateUser?
AgrantRolesToUser acrescenta; updateUser substitui a lista de papéis.
QPosso conceder papéis personalizados?
ASim — depois de criá-los com createRole.
QQuais privilégios isso exige?
AuserAdmin ou root.