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.