[英]Node js / MongoDB replica set array in javascript
警告:我是新手程序员(更多的是sysadmin)。 我们得到了一个使用MongoDB的节点js应用程序。 据我所知,mongo.js文件使用的是mongojs和monq java类。 它只设置了一个MongoDB,我正在尝试设置一个新的HA环境来使用副本集。 以下是他们提供的内容:
var mongojs = require('mongojs');
var monq = require('monq');
var dbName = 'exampledb';
var db = mongojs(dbName, ['collections']);
var client = monq('mongodb://127.0.0.1/exampledb', { w: 1 });
exports.db = db;
exports.ObjectId = mongojs.ObjectId;
exports.monqClient = client;
现在对于副本集,根据本文 ,我需要进行以下更改:
var db = mongojs('replset0.com, replset1.com, replset2.com/mydb?slaveOK=true?', ['collections']);
我不完全确定在那之后我需要做什么。 我猜我必须为副本集的每个成员创建一个包含主机名和端口号的数组(setup是primary,secondary,arbiter),例如:
var replSet = new replSet();
var replSet[0] = "server0:port0"
var replSet[1] = "server1.:port1"
var replSet[2] = "server2.:port2"
我将如何检测哪个节点是主节点? 此外,如果主要失败,我将不得不重新启动节点js应用程序(永远使用)?
我找到了答案,因为它调用的是MongoDB的URI http://docs.mongodb.org/manual/reference/connection-string/
应该是这样的:
var client = monq('mongodb://server0:port0,server1:port1,server2:port2/[dbname]?replicaSet=[replicaSet Name]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.