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

Bisakah saya memanggil rs.initiate() dan rs.Add() dari node.js menggunakan driver MongoDb?

Bagaimana replika set pembantu admin diimplementasikan?

rs.* replika set pembantu admin di mongo shell adalah pembungkus untuk perintah MongoDB yang dapat Anda kirim dari driver apa pun.

Anda dapat melihat perintah mana yang dibungkus oleh setiap shell helper dengan mengacu pada dokumentasi MongoDB:

Perhatikan bahwa mongo pembantu shell dapat melakukan beberapa validasi tambahan atau manipulasi konfigurasi karena mereka dimaksudkan untuk digunakan melalui mongo interaktif cangkang.

Anda dapat mengkonfirmasi bagaimana shell helper diimplementasikan dengan menjalankan perintah di shell tanpa tanda kurung, misalnya:

> rs.initiate
function (c) { return db._adminCommand({ replSetInitiate: c }); }

Memanggil replika set perintah database dari Node.js

Logika yang setara dapat diimplementasikan melalui API driver Node.js menggunakan command() :

// Rough equivalent of rs.initiate()
var MongoClient = require('mongodb').MongoClient;

MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for commands
  var adminDb = db.admin();

  // Default replica set conf
  var conf = {};

  adminDb.command({replSetInitiate: conf}, function(err, info) {
     console.log(info);
  });
});

Daripada mengimplementasikan ulang helper set replika di Node.js, Anda bisa memanggil mongo shell dengan --eval perintah untuk menjalankan shell helper (tip:include --quiet untuk menekan pesan yang tidak perlu).

Misalnya, menelepon dari aplikasi Node Anda:

var exec = require('child_process').exec;
var rsAdmin = exec('mongo --eval "var res = rs.initiate(); printjson(res)" --quiet', function (error, stdout, stderr) {
   // output is in stdout
   console.log(stdout);
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tidak dapat memutakhirkan sharded mongoDB atau menghentikan penyeimbang

  2. Apakah Anda memerlukan JPA saat menggunakan MongoDB?

  3. mongodb menambahkan penghitung ke setiap dokumen yang diambil

  4. Bagaimana cara menambahkanToSet dengan bidang tanggal

  5. Ubah nilai variabel dalam dokumen setelah beberapa waktu berlalu?