sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan får du adgang til en MongoDB-database fra to Openshift-apps?

2018-opdatering:dette gælder for Openshift 2. Version 3 er meget anderledes, og uanset hvor de generelle regler for linux og skalering gælder, blev detaljerne forældede.

Selvom @MartinB-svaret var rettidigt og korrekt, er det kun et link, så lad mig skrive det væsentlige her.

Forudsat at opsætningen af ​​en ikke-delt DB allerede er udført, skal du finde dens vært og port. Du kan ssh til din app (den med DB'en) eller brug rhc :

rhc ssh -a appwithdb
env | grep MONGODB 

env bringer alle miljøvariabler, og grep filtrerer dem til kun at vise Mongo-relaterede. Du bør se noget som:

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 bruge disse til at oprette en forbindelse til DB fra hvor som helst i dit Openshift-miljø. En anden applikation skal bruge URL'en xxxxx-yyyyy:zzzzz. Du kan gemme dem i tilpassede variabler for at gøre vedligeholdelsen nemmere.

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

Og brug så miljøvariablerne i stedet for standardvariablerne. Bare husk, at de ikke bliver opdateret automatisk, når DB flytter væk.



  1. som forespørgsel i mongoDB

  2. Opdater MongoDB-feltet ved hjælp af værdien af ​​et andet felt

  3. Lagring til millioner af billeder

  4. Ingen implicit visning tilgængelig