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.