Как я могу подключиться к удаленному серверу 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