sql >> Databáze >  >> NoSQL >> MongoDB

Jak získáte přístup k databázi MongoDB ze dvou aplikací Openshift?

Aktualizace z roku 2018:týká se Openshift 2. Verze 3 je velmi odlišná, a přestože platí obecná pravidla linuxu a škálování, podrobnosti jsou zastaralé.

Ačkoli odpověď @MartinB byla včasná a správná, je to jen odkaz, takže to podstatné mi dovolte uvést sem.

Za předpokladu, že nastavení nesdílené DB je již hotové, musíte najít hostitele a port. Můžete ssh do vaší aplikace (té s DB) nebo použijte rhc :

rhc ssh -a appwithdb
env | grep MONGODB 

env přináší všechny proměnné prostředí a grep je filtruje tak, aby zobrazoval pouze ty související s Mongo. Měli byste vidět něco jako:

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

Nyní je můžete použít k vytvoření připojení k DB odkudkoli v prostředí Openshift. Jiná aplikace musí používat xxxxx-yyyyy:zzzzz URL. Můžete je uložit do vlastních proměnných, abyste si usnadnili údržbu.

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

A pak použijte proměnné prostředí místo standardních. Pamatujte, že se automaticky neaktualizují, když se DB přesune pryč.



  1. Node.js poslouchá změnu MongoDB

  2. JavaScript - Převést 24místné hexadecimální číslo na desítkové, přidat 1 a pak převést zpět?

  3. C# MongoDB Driver – Jak používat UpdateDefinitionBuilder?

  4. mongodb $match operace v $lookup pro porovnání objectId nefunguje podle očekávání