Проблемът е, че потребителят на базата данни се създава на admin база данни вместо dbname .
Пропускане на /dbname от низа за връзка / mongo shell / и т.н. означава, че низът за връзка ще се удостовери пред admin база данни. Цитирайки документите:
(https://docs.mongodb.com/manual/reference/connection -string/#components ).
Ако /dbname е дефиниран, тогава низът за свързване ще се удостовери срещу dbname освен ако authSource
параметърът е конфигуриран да указва базата данни, в която се намира потребителят.
Можете да потвърдите, че това е така, като добавите authSource=admin към низа за връзка или --authenticationDatabase admin към командата mongo shell
.
Като алтернатива можете да използвате db.getUsers() за да видите базата данни, в която е създаден потребител.