Каждый пользователь связан с базой данных аутентификации.Поэтому, если ваш пользователь объявлен в базе данных администратора (и авторизация активирована, что ДОЛЖНО быть сделано на всех серверах среды), обязательно добавьте этот параметр в вашу команду входа в систему.
См. аутентификация ,и в целом безопасность для получения более подробной информации и объяснений.
РЕДАКТИРОВАНИЕ В случае использования Формат строки URI подключения , вы можете пропустить параметр базы данных аутентификациив этом случае «admin» будет использоваться по умолчанию для базы данных аутентификации и «test» по умолчанию в качестве целевой базы данных.
Пример: (ваш пользователь создан в базе данных «admin».)
Вот различные варианты поведения:
проверка подлинности с использованием «admin», целевая база данных - «тест»
$ mongo --host mongodb://user:pwd@myhost:27000
$ mongo --host mongodb://user:pwd@myhost:27000/test?authSource=admin
$ mongo --host mongodb://user:pwd@myhost:27000/?authSource=admin
проверка подлинности с использованием «admin», целевая база данных - «admin»
$ mongo --host mongodb://user:pwd@myhost:27000/admin
$ mongo --host mongodb://user:pwd@myhost:27000/admin?authSource=admin
Аутентификация по 'test', для базы данных задано 'test' (не удастся)
$ mongo --host mongodb://user:pwd@myhost:27000/test
$ mongo --host mongodb://user:pwd@myhost:27000/test?authSource=test
EDIT 2 Так как вам действительно нужно использовать mongo -h -u -н нотация, создаю тебяr Пользователь в вашей тестовой базе данных, которая будет использоваться по умолчанию в этом случае:
, это будет аутентифицироваться по тестовой базе данных и целевой целевой тестовой базе данных
mongo -h 199.99.99.99:27000 -u user -p pwd