updateUser (Atualizar Usuário)
Última atualização: 2026-10-09
updateUser (Atualizar Usuário)
updateUser modifica um usuário existente: redefine a senha, substitui papéis ou atualiza customData. Apenas os campos passados são alterados; papéis, porém, são substituídos por completo pela nova lista. No mongosh chame db.updateUser(usuário, { pwd, roles, customData }). Exige userAdmin ou root.
| Categoria | Autenticação de Usuário |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
db.updateUser("<username>", { pwd: "<new password>" })
db.updateUser("<username>", { roles: [ { role: "readWrite", db: "shop" } ] })
⚙️ Parâmetros
| pwd | A nova senha. |
|---|---|
| roles | Nova lista de papéis, substituindo totalmente os antigos. |
| customData | Metadados personalizados arbitrários. |
Retorno:Retorna { ok: 1 } em caso de sucesso
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// updateUser: redefine senha e define papéis
use admin
db.updateUser('reader', {
pwd: 'newpass456',
roles: [ { role: 'read', db: 'shop' }, { role: 'read', db: 'analytics' } ]
})
Saída:
{ ok: 1 }
📌 Notas
- Apenas os campos que você passa são atualizados
- roles substitui a lista completa — papéis antigos omitidos são perdidos
- Exige userAdmin ou root
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QO updateUser sobrescreve papéis?
ASim — roles substitui a lista inteira, então inclua todos os papéis que deseja manter.
QComo altero apenas a senha?
APasse apenas pwd; todo o resto permanece como está.
QQuais privilégios isso exige?
AuserAdmin no banco, ou root.