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.