sql >> Database >  >> NoSQL >> MongoDB

Hoe krijg je toegang tot een MongoDB-database vanuit twee Openshift-apps?

2018 update:dit is van toepassing op Openshift 2. Versie 3 is heel anders, en hoe de algemene regels van linux en schalen ook van toepassing zijn, de details zijn verouderd.

Hoewel het antwoord van @MartinB tijdig en correct was, is het slechts een link, dus laat me de essentie hier neerzetten.

Ervan uitgaande dat het opzetten van een niet-gedeelde DB al is gedaan, moet u de host en poort vinden. Je kunt ssh naar uw app (die met de DB) of gebruik de rhc :

rhc ssh -a appwithdb
env | grep MONGODB 

env brengt alle omgevingsvariabelen en grep filtert ze om alleen Mongo-gerelateerde variabelen weer te geven. Je zou zoiets moeten zien als:

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

Nu kunt u deze gebruiken om overal in uw Openshift-omgeving een verbinding met de DB tot stand te brengen. Een andere applicatie moet de xxxxx-yyyyy:zzzzz URL gebruiken. U kunt ze opslaan in aangepaste variabelen om het onderhoud gemakkelijker te maken.

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

En gebruik dan de omgevingsvariabelen in plaats van de standaardvariabelen. Onthoud dat ze niet automatisch worden bijgewerkt wanneer de DB weggaat.



  1. MongoDB:Voorwaardelijk selecteren uit de ene verzameling op basis van een andere verzameling

  2. IdMemberMap is null met behulp van Representation Serialization Options

  3. Hoe externe sleutels af te dwingen in NoSql-databases (MongoDB)?

  4. Spark op HBase met Spark-shell