Il problema è che l'utente del database viene creato su admin
database invece di dbname
.
Omettendo il /dbname
dalla stringa di connessione / mongo shell / ecc. significa che la stringa di connessione verrà autenticata all'admin
Banca dati. Citando i documenti:
(https://docs.mongodb.com/manual/reference/connection -stringa/#componenti ).
Se /dbname
è definito, la stringa di connessione verrà autenticata rispetto a dbname
a meno che il authSource
parametro è configurato per specificare il database in cui risiede l'utente.
Puoi confermare che questo è il caso aggiungendo authSource=admin
alla stringa di connessione o --authenticationDatabase admin
al comando mongo shell
.
In alternativa, puoi utilizzare db.getUsers()
per vedere il database in cui è stato creato un utente.