MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongodb konnte Benutzer [email protected] nicht finden

Das Problem ist, dass der Datenbankbenutzer auf admin erstellt wird database anstelle von dbname .

Weglassen des /dbname aus der Verbindungszeichenfolge / Mongo-Shell / usw. bedeutet, dass die Verbindungszeichenfolge beim admin authentifiziert wird Datenbank. Zitieren der Dokumente:

(https://docs.mongodb.com/manual/reference/connection -Zeichenfolge/#Komponenten ).

Wenn /dbname definiert ist, authentifiziert sich die Verbindungszeichenfolge gegenüber dbname es sei denn, die authSource Der Parameter wird konfiguriert, um die Datenbank anzugeben, in der sich der Benutzer befindet.

Sie können dies bestätigen, indem Sie entweder authSource=admin hinzufügen an die Verbindungszeichenfolge oder --authenticationDatabase admin zum Mongo-Shell-Befehl .

Alternativ können Sie db.getUsers() verwenden um die Datenbank zu sehen, in der ein Benutzer erstellt wurde.