El problema es que el usuario de la base de datos se está creando en admin
base de datos en lugar de dbname
.
Omitir /dbname
desde la cadena de conexión / mongo shell / etc. significa que la cadena de conexión se autenticará ante el admin
base de datos. Citando los documentos:
(https://docs.mongodb.com/manual/reference/connection -cadena/#componentes ).
Si /dbname
está definido, entonces la cadena de conexión se autenticará contra dbname
a menos que authSource
El parámetro está configurado para especificar la base de datos en la que reside el usuario.
Puede confirmar que este es el caso agregando authSource=admin
a la cadena de conexión o --authenticationDatabase admin
al comando mongo shell
.
Alternativamente, puede usar db.getUsers()
para ver la base de datos en la que se creó un usuario.