sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo accede a una base de datos MongoDB desde dos aplicaciones Openshift?

Actualización de 2018:esto se aplica a Openshift 2. La versión 3 es muy diferente y, sin embargo, se aplican las reglas generales de Linux y el escalado, los detalles quedaron obsoletos.

Aunque la respuesta de @MartinB fue oportuna y correcta, es solo un enlace, así que déjame poner lo esencial aquí.

Suponiendo que ya se haya configurado una base de datos no compartida, debe encontrar su host y puerto. Puedes ssh a su aplicación (la que tiene la base de datos) o use el rhc :

rhc ssh -a appwithdb
env | grep MONGODB 

env trae todas las variables de entorno y grep las filtra para mostrar solo las relacionadas con Mongo. Deberías ver algo como:

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

Ahora, puede usarlos para crear una conexión a la base de datos desde cualquier lugar de su entorno Openshift. Otra aplicación tiene que usar la URL xxxxx-yyyyy:zzzzz. Puede almacenarlos en variables personalizadas para facilitar el mantenimiento.

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

Y luego use las variables de entorno en lugar de las estándar. Solo recuerda que no se actualizan automáticamente cuando la base de datos se aleja.