MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как получавате достъп до база данни MongoDB от две приложения на Openshift?

Актуализация от 2018 г.:това се отнася за Openshift 2. Версия 3 е много различна и въпреки че се прилагат общите правила на linux и мащабирането, подробностите са остарели.

Въпреки че отговорът на @MartinB беше навременен и правилен, това е просто връзка, така че позволете ми да поставя най-важното тук.

Ако приемем, че настройката на несподелена DB вече е готова, трябва да намерите нейния хост и порт. Можете да ssh към вашето приложение (това с DB) или използвайте rhc :

rhc ssh -a appwithdb
env | grep MONGODB 

env носи всички променливи на средата и grep ги филтрира, за да покаже само тези, свързани с Mongo. Трябва да видите нещо като:

OPENSHIFT_MONGODB_DB_HOST=xxxxx-yyyyy.apps.osecloud.com
OPENSHIFT_MONGODB_DB_PORT=zzzzz

xxxxx is the ID of the gear that Mongo sits on
yyyyy is your domain/namespace
zzzzz is MongoDB port

Сега можете да ги използвате, за да създадете връзка към DB от всяко място във вашата Openshift среда. Друго приложение трябва да използва URL адреса xxxxx-yyyyy:zzzzz. Можете да ги съхранявате в потребителски променливи, за да улесните поддръжката.

$ rhc env-set \
MYOWN_DB_HOST=xxxxx-yyyyy \
MYOWN_DB_PORT=zzzzz \
MYOWN_DB_PASSWORD=****** \
MYOWN_DB_USERNAME=admin..... \
MYOWN_DB_NAME=dbname...

И след това използвайте променливите на средата вместо стандартните. Само не забравяйте, че те не се актуализират автоматично, когато DB се премести.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB findOneAndUpdate()

  2. Върнете целия документ от агрегиране

  3. MongoParseError:Невалиден низ за връзка

  4. Spring Data Mongo Query за заявка с множество полета и връщане с едно извикване

  5. mongodb $ в лимит