Problemet är att databasanvändaren skapas på admin databas istället för dbname .
Utelämnar /dbname från anslutningssträngen / mongo-skalet / etc. betyder att anslutningssträngen kommer att autentiseras till admin databas. Citerar dokumenten:
(https://docs.mongodb.com/manual/reference/connection -string/#components ).
Om /dbname är definierad, kommer anslutningssträngen att autentisera mot dbname såvida inte authSource
parametern är konfigurerad för att ange i vilken databas användaren är bosatt.
Du kan bekräfta att så är fallet genom att antingen lägga till authSource=admin till anslutningssträngen eller --authenticationDatabase admin till mongo shell-kommandot
.
Alternativt kan du använda db.getUsers() för att se databasen där en användare skapades.