13: Unauthorized (error code 13)
MongoDBO que significa?
O usuário autenticado não tem privilégio para a operação ou o recurso tentado. O usuário está logado, mas suas roles não cobrem essa ação.
Por que acontece?
A role necessária (por exemplo, readWrite, dbAdmin) não foi concedida ao usuário, a operação roda no banco de dados errado, ou os privilégios são insuficientes para um comando administrativo. Configuração de RBAC incompleta.
Como resolver
Verifique as roles do usuário: db.getUser("app_user"). Conceda a role necessária: db.grantRolesToUser("app_user", [{role:"readWrite", db:"mydb"}]). Certifique-se de que a operação roda no banco de dados correto. Atribua uma role built-in ou personalizada adequada seguindo o princípio do menor privilégio. Verifique o valor authSource na connection string.