MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

OpenShift Достъп до Mongodb Pod от друг Pod

Добре, това беше дълго търсене и най-накрая успях да го реша. Първата ми грешка беше, че маршрутите не са подходящи за осъществяване на връзка с база данни, тъй като използват само http-протокола.

Сега ми останаха 2 случая на използване

  1. Работите на вашата локална машина и искате да тествате код, който по-късно да качите в OpenShift
  2. Вие внедрявате този код в OpenShift (трябва да е в същия проект, но е различно приложение от базата данни)

1. Локална машина

Тъй като маршрутът не работи, използва се пренасочване на портове. Четох това преди, но не разбрах какво означава (мислех, че самата услуга вече препраща портове).

Когато сте на вашата локална машина, ще направите следното с oc

oc port-forward <pod-name> <local-port>:<remote-port>

Ще получите информация, че портът е пренасочен. Сега работата е там, че във вашето приложение вече ще се свързвате с localhost (дори на вашата локална машина)

2. Приложение, работещо на OpenShift

След като качите кода си в OpenShift (в моя случай просто добавете към проекта --> Node.js --> добавете вашето репо), localhost няма да работи повече. Това, което ми отне известно време, за да разбера, е, че като докато сте в един и същ проект, ще имате много информация в променливите на вашата среда. Така че просто проверете името на услугата на вашата база данни (в моя случай mongodb) и ще намерите хоста и порта, които да използвате

Резюме

Ето малък примерен код, който работи сега, както на локалната машина, така и на OpenShift. Вече настроих постоянен MongoDB на OpenShift, наречен mongodb.

Кодът не прави много, но ще направи връзка и ще ви каже, че го е направила, така че да знаете, че работи.

var mongoose = require('mongoose');

// Connect to Mongodb
var username = process.env.MONGO_DB_USERNAME || 'someUserName';
var password = process.env.MONGO_DB_PASSWORD || 'somePassword';

var host = process.env.MONGODB_SERVICE_HOST || '127.0.0.1';
var port = process.env.MONGODB_SERVICE_PORT || '27017';

var database = process.env.MONGO_DB_DATABASE || 'sampledb';
console.log('---DATABASE PARAMETERS---');
console.log('Host: ' + host);
console.log('Port: ' + port);
console.log('Username: ' + username);
console.log('Password: ' + password); 
console.log('Database: ' + database);



var connectionString = 'mongodb://' + username + ':' + password +'@' + host + ':' + port + '/' + database;
console.log('---CONNECTING TO---');
console.log(connectionString);
mongoose.connect(connectionString);

mongoose.connection.once('open', (data) => {
    console.log('Connection has been made');
    console.log(data);
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Връзка индекс/RAM на MongoDB

  2. Създаване на методи за актуализиране и запазване на документи с mongoose?

  3. Как да интегрираме Pyramid 1.1 и Mongo DB - възможно най-малко редове

  4. В MongoDb, как да приложите вътрешни полета за сортиране, присъстващи в документа?

  5. MongoDB:автоматично генерираните идентификатори са нули