Het probleem is dat de databasegebruiker wordt aangemaakt op de admin database in plaats van dbname .
Het weglaten van de /dbname van de verbindingsreeks / mongo shell / etc. betekent dat de verbindingsreeks wordt geverifieerd bij de admin databank. De documenten citeren:
(https://docs.mongodb.com/manual/reference/connection -string/#componenten ).
Als /dbname is gedefinieerd, wordt de verbindingsreeks geverifieerd tegen dbname tenzij de authSource
parameter is geconfigureerd om de database op te geven waarin de gebruiker zich bevindt.
U kunt bevestigen dat dit het geval is door authSource=admin . toe te voegen naar de verbindingsreeks of --authenticationDatabase admin naar het mongo shell-commando
.
Als alternatief kunt u db.getUsers() . gebruiken om de database te zien waarin een gebruiker is aangemaakt.