2016-12-27 2 views
1

Я использую весеннюю загрузку и создал веб-приложение с использованием базы данных mongodb. Локально я использую командную строку «mongod» и «mongo», где я могу запросить данные, которые я ввел в пользовательский интерфейс.Как получить доступ к значениям/данным MongoDB после привязки к облачному литейному заводу?

Мое приложение, использующее MongoDb, работает на локальном хосте с портом по умолчанию 27017. Мое веб-приложение отражает данные, которые хранятся в базе данных. Когда я нажимаю это приложение на облачный литейный цех и связываю службу MONGODB, он использует другую базу данных. Где и как я могу просмотреть/получить доступ ко всем вводимым данным. На локальном компьютере я могу использовать db.collection.find(), и он запрашивает все мои данные.

Проблема

После того, как я нажимаю мое приложение к облаку литейный, все мои данные, которые хранились локально не связан с ним. Я могу хранить значения в PCF MongoDB. Но я не знаю, как просматривать данные, которые у меня есть. Есть ли команда или метод для просмотра всех данных, которые я ввел в PCF MongoDB?

Покушение

Глядя на мои VCAP_SERVICES я был в состоянии видеть мое имя базы данных, имя пользователя и пароль. Но они выглядят так, как будто они зашифрованы, у него есть буквы и цифры. Пример ниже, как VCAP выглядит (значение реплики, тот же формат)

"database": "9faf201a-39b1-4lse-49242f404g11" 
"host": "10.100.100.333" 
"password": "2jnkj4nk22kk5lk6kj4n4k6nkj6001" 
"username": "401849301k-8g3f-5c3j-k28-583920308592f04" 

Я попытался использовать приведенный ниже код в CLI

mongo someurl.mongodomain.com:45475/database_name -u username -p password 

Так DatabaseName, имя пользователя и пароль, я просто скопировал и вставил зашифрованное имя пользователя и пароль

mongo myurl.com:1337/9faf201a-39b1-4lse-49242f404g11 -u 401849301k-8g3f-5c3j-k28-583920308592f04" -p 2jnkj4nk22kk5lk6kj4n4k6nkj6001 

, и я получаю сообщение об ошибке. Возможно, мне нужно ввести правильное имя пользователя и пароль. Где я могу установить имя пользователя и пароль? Я использую весенний ботинок, и он автоматически обрабатывался для меня. Поэтому я никогда не создавал имя пользователя или пароль.

ответ

1

Вот пять предложений (спасибо Daniel.Mikusa для последнего):

  • Нажмите веб-клиент для MongoDB и привязать его к вашей базе данных. Кажется, что оболочка для облачной оболочки для mongo express: https://github.com/komushi/cf-mongo-express.

  • Возможно, вы сможете подключиться к удаленному mongodb с помощью клиентской программы mongo аналогично тому, как вы подключаетесь к локальному mongodb. Вы можете найти учетные данные (имя пользователя, пароль, дб-имя) в среде вашего приложения:

    cf env <your-app-name> 
    

    Доступ к экземпляру MongoDB, однако, может быть заблокирован из машины за пределами вашей установки CloudFoundry. В этом случае вы можете попробовать следующий вариант.

  • Нажмите на контейнер для докеров, в котором клиент mongo установлен на облачную инфраструктуру. Ssh в контейнер докера, и используйте клиента mongo оттуда. Нажатие контейнеров докеров на CF не включается во всех установках облачной установки.

  • Наконец, вы можете открыть объекты своего домена через REST-контроллеры.Возможно использование пружинных данных: http://projects.spring.io/spring-data-rest/.

  • Использовать cf ssh и туннель ssh. Привяжите экземпляр mongodb к приложению, запустите cf env, чтобы получить хост, порт и учетные данные (или создать служебный ключ). Затем запустите cf ssh -N -L <localport>:<service-fqdn-or-ip>:<remote-port> app-name (приложение, к которому вы подключаетесь, не имеет особого значения, это только тот, через который мы прокладываем туннель). Теперь подключите клиента к localhost:<localport> и используйте учетные данные, которые вы получили из cf env.

+0

Здравствуйте, Используя команду, которую вы мне показали. Он предоставляет VCAP, который также показан в пользовательском интерфейсе. База данных, имя пользователя и пароль зашифрованы (буквы и цифры смешаны с hypens). Как я могу войти на этот сервер для просмотра, добавления или изменения данных? – Jesse

+0

Откуда вы знаете, что они зашифрованы? Как правило, это просто незашифрованные, случайно сгенерированные строки. Ваше приложение нуждается в их подключении, поэтому вы также сможете использовать их с вашей рабочей станции. Вы на PWS? – user152468

+0

ОК. Просто видел ваше редактирование. Имя базы данных и имя пользователя выглядят как UUID. Вероятно, пароль был изменен. Если вы не можете подключиться, то, по соображениям безопасности, я предполагаю, что это заблокировано вне вашей установки облачного доступа. В этом случае я бы пошел на отдых в Spring. – user152468

Смежные вопросы