रेप्लिका सेट एडमिन हेल्पर्स को कैसे लागू किया जाता है?
rs.*
प्रतिकृति सेट व्यवस्थापक सहायक
mongo
. में शेल MongoDB कमांड के लिए रैपर है जिसे आप किसी भी ड्राइवर से भेज सकते हैं।
आप MongoDB दस्तावेज़ीकरण का हवाला देकर देख सकते हैं कि प्रत्येक शेल हेल्पर किस कमांड को रैप करता है:
rs.initiate()
replSetInitiate
के आसपास एक आवरण प्रदान करता है डेटाबेस कमांड।rs.add()
replSetReconfig
की कुछ कार्यात्मकताओं के लिए एक आवरण प्रदान करता है डेटाबेस कमांड और संबंधित मोंगो शेल हेल्परrs.reconfig()
।rs.conf()
replSetGetConfig
को लपेटता है डेटाबेस कमांड।
ध्यान दें कि mongo
शेल हेल्पर्स कॉन्फ़िगरेशन के कुछ अतिरिक्त सत्यापन या हेरफेर कर सकते हैं क्योंकि उनका उद्देश्य इंटरैक्टिव mongo
के माध्यम से उपयोग किया जाना है। खोल।
आप यह पुष्टि कर सकते हैं कि शेल सहायकों में से कोई भी कैसे लागू किया जाता है, बिना पीछे वाले कोष्ठक के शेल में कमांड को लागू करके, जैसे:
> rs.initiate
function (c) { return db._adminCommand({ replSetInitiate: c }); }
नोड.जेएस से कॉल प्रतिकृति सेट डेटाबेस कमांड
समतुल्य तर्क को Node.js ड्राइवर API के माध्यम से 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);
});
});
Node.js में प्रतिकृति सेट हेल्पर्स को फिर से लागू करने के बजाय, आप एक mongo
का आह्वान कर सकते हैं खोल के साथ --eval
शेल हेल्पर को चलाने के लिए कमांड (टिप:शामिल करें --quiet
अनावश्यक संदेशों को दबाने के लिए)।
उदाहरण के लिए, अपने नोड ऐप से कॉल करना:
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);
});