MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

OpenShift Mengakses Pod Mongodb dari Pod lain

Ok itu pencarian yang panjang dan akhirnya saya bisa menyelesaikannya. Kesalahan pertama saya adalah, rute tersebut tidak cocok untuk membuat koneksi ke database karena hanya menggunakan protokol http.

Sekarang ada 2 usecase tersisa untuk saya

  1. Anda sedang mengerjakan mesin lokal dan ingin menguji kode yang nanti Anda unggah ke OpenShift
  2. Anda menerapkan kode tersebut ke OpenShift (harus berada dalam proyek yang sama tetapi merupakan aplikasi yang berbeda dari database)

1. Mesin Lokal

Karena rute tidak berfungsi, penerusan port digunakan. Saya telah membacanya sebelumnya tetapi tidak begitu mengerti apa artinya (saya pikir layanan itu sendiri sudah meneruskan port).

Saat Anda berada di mesin lokal Anda, Anda akan melakukan hal berikut dengan oc

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

Anda akan mendapatkan info bahwa port tersebut diteruskan. Sekarang masalahnya, di aplikasi Anda, Anda sekarang akan terhubung ke localhost (bahkan di komputer lokal Anda)

2. Aplikasi berjalan di OpenShift

Setelah Anda mengunggah kode Anda ke OpenShift (Dalam kasus saya, cukup Tambahkan ke proyek --> Node.js --> Tambahkan repo Anda), localhost tidak akan berfungsi lagi. Perlu beberapa saat bagi saya untuk memahami bahwa sebagai selama Anda berada dalam proyek yang sama, Anda akan memiliki banyak informasi dalam variabel lingkungan Anda. Jadi, cukup periksa nama layanan database Anda (dalam kasus saya mongodb) dan Anda akan menemukan host dan port untuk digunakan

Ringkasan

Berikut adalah contoh kode kecil yang berfungsi sekarang, juga pada mesin lokal seperti pada OpenShift. Saya sudah menyiapkan persisten dan MongoDB di OpenShift yang disebut mongodb.

Kode tidak banyak membantu, tetapi akan membuat koneksi dan memberi tahu Anda bahwa itu berhasil, jadi Anda tahu itu berfungsi.

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. cara mendapatkan sesi luwak di validator skema luwak

  2. Menggunakan fungsi JavaScript yang tersimpan dalam pipa Agregasi, MapReduce atau runCommand

  3. MongoDB:agregat $project tambahkan bidang dengan nilai statis

  4. Kueri Agregasi Rata-rata di Meteor

  5. Menggunakan MongoDB dari klien dengan Javascript