Problém je v tom, že uživatel databáze se vytváří na admin databáze namísto dbname .
Vynechání /dbname z připojovacího řetězce / mongo shell / atd. znamená, že připojovací řetězec se ověří admin databáze. Cituji dokumenty:
(https://docs.mongodb.com/manual/reference/connection -string/#components ).
Pokud /dbname je definován, pak se připojovací řetězec ověří proti dbname pokud authSource
parametr je nakonfigurován tak, aby specifikoval databázi, ve které se uživatel nachází.
Můžete potvrdit, že tomu tak je, přidáním authSource=admin na připojovací řetězec nebo --authenticationDatabase admin na příkaz mongo shell
.
Případně můžete použít db.getUsers() pro zobrazení databáze, ve které byl uživatel vytvořen.