MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

O Mongodb não encontrou o usuário [protegido por e-mail]


O problema é que o usuário do banco de dados está sendo criado no admin banco de dados em vez de dbname .

Omitindo o /dbname da string de conexão / shell do mongo / etc. significa que a string de conexão será autenticada no admin base de dados. Citando os documentos:

(https://docs.mongodb.com/manual/reference/connection -string/#components ).

Se /dbname for definido, a string de conexão será autenticada em dbname a menos que authSource O parâmetro está configurado para especificar o banco de dados no qual o usuário reside.

Você pode confirmar que este é o caso adicionando authSource=admin para a string de conexão ou --authenticationDatabase admin para o comando do shell do mongo .

Alternativamente, você pode usar db.getUsers() para ver o banco de dados no qual um usuário foi criado.