Как я могу подключиться к удаленному серверу mongo с терминала Mac OS
Я хотел бы заглянуть в оболочку монго в терминале на моем MacBook. Тем не менее, я заинтересован в подключении к экземпляру Mongo, который работает в облаке (экземпляр compose.io через адрон Heroku). У меня есть имя, пароль, хост, порт и имя базы данных из URI MongoDB:
mongodb://username:[email protected]:10011/my_database
Я установил mongodb на своем MacBook с помощью Homebrew не потому, что хочу, чтобы Mongo работал на моем Mac, а просто чтобы получить доступ к программе оболочки mongo, чтобы подключиться к этой удаленной базе данных.
Однако я не могу найти нужную команду, чтобы получить мне полный доступ к оболочке, который я бы хотел. Используя инструкции, найденные здесь http://docs.mongodb.org/manual/reference/program/mongo/ (поиск "remote") Я могу получить то, что похоже на соединение, но без указания имени пользователя или пароля я не полностью связанный. Запуск db.auth(username, password)
возвращает 1 (в отличие от "auth fail" при некорректном имени пользователя и пароле), но я продолжаю получать сообщение об ошибке "неавторизованное" при выдаче команды show dbs
.
Ответы
Ответ 1
Возможно, вы подключаетесь нормально, но не имеете достаточных привилегий для запуска show dbs
.
Вам не нужно запускать db.auth, если вы передаете auth в командной строке:
mongo somewhere.mongolayer.com:10011/my_database -u username -p password
Как только вы подключаетесь, вы можете видеть коллекции?
> show collections
Если все это хорошо, и у вас просто нет прав администратора для базы данных и не может запустить show dbs
Ответ 2
С Mongo 3.2 и выше просто используйте свою строку подключения как есть:
mongo mongodb://username:[email protected]:10011/my_database