大佬教程收集整理的这篇文章主要介绍了我可以使用MongoDb驱动程序从node.js调用rs.initiate()和rs.Add()吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
该rs.*
副本集管理助手的@H_403_5@mongo外壳是你可以从任何驱动程序发送的MongoDB命令包装。
您可以通过参考MongoDB文档来查看每个sHell助手包装了哪些命令:
rs.initiate()
提供围绕replSeTinitiate
数据库命令的包装。rs.add()
提供了一些replSetReconfig
数据库命令和相应的R_36_11845@ongo sHell助手功能的包装rs.reconfig()
。rs.conf()
包装replSetGetConfig
数据库命令。请注意,@H_403_5@mongosHell助手可能会对配置进行一些额外的验证或操作,因为它们打算通过交互式@H_403_5@mongosHell使用。
您可以通过在外壳程序中调用命令而不用括号括起来来确认如何实现任何外壳程序助手,例如:
> rs.initiate
function (C) { return db._adminCommand({ replSeTinitiate: c }); }
可以使用command()
以下方法通过Node.Js驱动程序API来实现等效逻辑:
// 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);
});
});
可以@H_403_5@mongo在--eval
命令中调用SHell 来运行SHell Helper ,而不是在Node.Js中重新实现副本集Helper
(提示:包括--quIEt
以消除不必要的消息)。
例如,从您的Node应用程序调用:
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);
});
以上是大佬教程为你收集整理的我可以使用MongoDb驱动程序从node.js调用rs.initiate()和rs.Add()吗?全部内容,希望文章能够帮你解决我可以使用MongoDb驱动程序从node.js调用rs.initiate()和rs.Add()吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。