MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como você acessa um banco de dados MongoDB de dois aplicativos Openshift?


Atualização de 2018:isso se aplica ao Openshift 2. A versão 3 é muito diferente e, no entanto, as regras gerais de linux e dimensionamento se aplicam, os detalhes ficaram obsoletos.

Embora a resposta do @MartinB tenha sido oportuna e correta, é apenas um link, então deixe-me colocar o essencial aqui.

Supondo que a configuração de um banco de dados não compartilhado já tenha sido feita, você precisa encontrar seu host e porta. Você pode ssh para o seu aplicativo (aquele com o banco de dados) ou use o rhc :
rhc ssh -a appwithdb
env | grep MONGODB 

env traz todas as variáveis ​​de ambiente e o grep as filtra para mostrar apenas as relacionadas ao Mongo. Você deve 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

Agora, você pode usá-los para criar uma conexão com o banco de dados de qualquer lugar em seu ambiente Openshift. Outro aplicativo precisa usar a URL xxxxx-yyyyy:zzzzz. Você pode armazená-los em variáveis ​​personalizadas para facilitar a manutenção.
$ rhc env-set \
MYOWN_DB_HOST=xxxxx-yyyyy \
MYOWN_DB_PORT=zzzzz \
MYOWN_DB_PASSWORD=****** \
MYOWN_DB_USERNAME=admin..... \
MYOWN_DB_NAME=dbname...

E então use as variáveis ​​de ambiente em vez das padrão. Apenas lembre-se de que eles não são atualizados automaticamente quando o banco de dados se afasta.