MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tôi có thể gọi rs.initiate () và rs.Add () từ node.js bằng trình điều khiển MongoDb không?

Trình trợ giúp quản trị bộ bản sao được triển khai như thế nào?

rs.* trình trợ giúp quản trị bộ bản sao trong mongo shell là các trình bao bọc cho các lệnh MongoDB mà bạn có thể gửi từ bất kỳ trình điều khiển nào.

Bạn có thể xem (các) lệnh nào mà mỗi trình trợ giúp trình bao bọc bằng cách tham khảo tài liệu MongoDB:

Lưu ý rằng mongo trình trợ giúp shell có thể thực hiện thêm một số xác thực hoặc thao tác các cấu hình vì chúng được dự định sử dụng thông qua mongo tương tác vỏ.

Bạn có thể xác nhận cách bất kỳ trình trợ giúp shell nào được triển khai bằng cách gọi lệnh trong shell mà không kèm theo dấu ngoặc đơn, ví dụ:

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

Gọi lệnh cơ sở dữ liệu bộ bản sao từ Node.js

Logic tương đương có thể được triển khai thông qua API trình điều khiển Node.js bằng cách sử dụng 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);
  });
});

Thay vì thực hiện lại các trình trợ giúp đặt bản sao trong Node.js, bạn có thể gọi một mongo shell với --eval lệnh để chạy trình trợ giúp trình bao (mẹo:bao gồm --quiet để ngăn chặn các thông báo không cần thiết).

Ví dụ:gọi điện từ ứng dụng Node của bạn:

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. GeoNear trong MongoDB có thể trả về một tập hợp con các trường trong tài liệu không?

  2. MongoDB, MapReduce và sắp xếp

  3. Mongodb có đang chạy không?

  4. Mongoose:Làm thế nào để điền dân số sâu 2 cấp mà không điền các trường cấp 1? trong mongodb

  5. MongoDB Multikey Compound Index - Cần trợ giúp để hiểu các giới hạn