gpt4 book ai didi

javascript - JavaScript 中的 Node js/MongoDB 副本集数组

转载 作者:可可西里 更新时间:2023-11-01 09:24:48 25 4
gpt4 key购买 nike

警告:我是一名新手程序员(更多的是系统管理员)。我们得到了一个使用 MongoDB 的 Node 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;

根据this article,现在是一个副本集,我需要进行以下更改:

var db = mongojs('replset0.com, replset1.com, replset2.com/mydb?slaveOK=true?', ['collections']);

我不完全确定在那之后我需要为这条线做些什么。我猜我必须创建一个数组,其中包含副本集的每个成员的主机名和端口号(设置是主要的、次要的、仲裁者),例如:

var replSet = new replSet();
var replSet[0] = "server0:port0"
var replSet[1] = "server1.:port1"
var replSet[2] = "server2.:port2"

我将如何检测哪个 Node 是主 Node ?另外,如果主 Node 失败,我将不得不重新启动 Node 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]

关于javascript - JavaScript 中的 Node js/MongoDB 副本集数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19666210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com