sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kommer du åt en MongoDB-databas från två Openshift-appar?

2018 års uppdatering:detta gäller Openshift 2. Version 3 är väldigt annorlunda, och hur de allmänna reglerna för linux och skalning än gäller, blev detaljerna föråldrade.

Även om @MartinB-svaret var aktuellt och korrekt, är det bara en länk, så låt mig lägga det väsentliga här.

Förutsatt att inställningen av en icke-delad DB redan är klar måste du hitta dess värd och port. Du kan ssh till din app (den med DB) eller använd rhc :

rhc ssh -a appwithdb
env | grep MONGODB 

env tar med alla miljövariabler och grep filtrerar dem för att endast visa Mongo-relaterade. Du bör se något i stil med:

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 kan du använda dessa för att skapa en anslutning till DB från var som helst i din Openshift-miljö. En annan applikation måste använda URL:en xxxxx-yyyyy:zzzzz. Du kan lagra dem i anpassade variabler för att underlätta underhållet.

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

Och använd sedan miljövariablerna istället för standardvariablerna. Kom bara ihåg att de inte uppdateras automatiskt när DB flyttar bort.



  1. Effektiv personsökning i MongoDB med hjälp av mgo.v2 och MongoDB> 4.2

  2. Predis med laravel 5.5 Inga anslutningar tillgängliga i poolen i Aggregate/RedisCluster.php:337

  3. Hur används Redis i Trello?

  4. Några detaljerade och specifika skäl till varför MongoDB är mycket snabbare än SQL DB?