createUser (Criar Usuário)
Última atualização: 2026-10-09
createUser (Criar Usuário)
createUser cria um usuário de banco com papéis; no mongosh use db.createUser({ user, pwd, roles }). Os papéis podem ser embutidos (read, readWrite, dbAdmin, root) ou personalizados, com escopo entre bancos via objetos { role, db }. O usuário pertence ao banco onde o comando roda. A autenticação só tem efeito quando a autorização está habilitada.
| Categoria | Autenticação de Usuário |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.createUser({
user: "<username>",
pwd: "<password>",
roles: [ { role: "readWrite", db: "shop" } ]
})
⚙️ Parâmetros
| user | O nome de usuário. |
|---|---|
| pwd | A senha; passwordDigestor pode controlar o hash. |
| roles | Lista de papéis como objetos { role, db } ou strings. |
Retorno:Retorna { ok: 1 } em caso de sucesso
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// createUser: cria um usuário somente leitura
use admin
db.createUser({
user: 'reader',
pwd: 'secret123',
roles: [ { role: 'read', db: 'shop' } ]
})
Saída:
{ ok: 1 }
📌 Notas
- O usuário pertence ao db onde createUser roda
- Autorize entre bancos com { role, db }
- Senhas não são armazenadas em texto puro, mas ainda assim use senhas fortes
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QEm qual banco o createUser deve rodar?
ANo banco a que o usuário pertence (geralmente admin ou o banco de negócio); faça escopo de papéis entre bancos com { role, db }.
QUsuários foram criados mas conexões pulam a autenticação?
AO MongoDB verifica credenciais apenas quando a autorização está habilitada; caso contrário, qualquer um pode conectar.
QQuais são os papéis embutidos?
Aread, readWrite, dbAdmin, dbOwner, userAdmin, root e outros.