MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongodb non è riuscito a trovare l'utente [email protetta]

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.