Проблемът е, че потребителят на базата данни се създава на 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()
за да видите базата данни, в която е създаден потребител.