Не удается подключиться к реплике MongoDB, когда все основные серверы не работают - PullRequest
0 голосов
/ 18 июня 2019

У меня есть набор реплик, состоящий из 3 узлов со следующими состояниями:
сервер1: 27001 - вниз
сервер2: 27001 - вниз
server3: 27001 - Вторичное состояние и работает

Я поддерживаю устаревшее приложение, разработанное с использованием mongoskin, я хотел, чтобы оно могло подключаться к вторичным узлам, когда первичный недоступен для чтения.

Я пытался настроить readPreference на вторичное устройство, но не сработало

    var mongoUrl = "mongodb://user:pass@server1:27001,server:27002,server:27003/?replicaSet=repl_test_1&authSource=admin&readPreference=secondary"
    var db = require('mongoskin').db(mongoUrl);

Это сообщение об ошибке:

Произошла ошибка без обратного вызова для ее обработки при вызове SkinCursor.limit {MongoError: в списке нет действительных начальных серверов на сервере. (/Appl/gref/gls-ws/soap/convertSingleCurrency/webService/core/node_modules/mongodb-core/lib/topologies/replset.js:1152:39) в Object.onceWrapper (events.js: 273: 13) на сервере Server.emit (events.js: 182: 13) на сервере Server.EventEmitter.emit (domain.js: 441: 20) в бассейне. (/Appl/gref/gls-ws/soap/convertSingleCurrency/webService/core/node_modules/mongodb-core/lib/topologies/server.js:269:68) в Object.onceWrapper (events.js: 273: 13) в Pool.emit (events.js: 182: 13) в Pool.EventEmitter.emit (domain.js: 441: 20) при подключении. (/Appl/gref/gls-ws/soap/convertSingleCurrency/webService/core/node_modules/mongodb-core/lib/connection/pool.js:77:12) в Object.onceWrapper (events.js: 273: 13) на Connection.emit (events.js: 182: 13) в Connection.EventEmitter.emit (domain.js: 441: 20) на сокете. (/Appl/gref/gls-ws/soap/convertSingleCurrency/webService/core/node_modules/mongodb-core/lib/connection/connection.js:121:49) в Object.onceWrapper (events.js: 273: 13) на Socket.emit (events.js: 182: 13) в Socket.EventEmitter.emit (domain.js: 441: 20) имя: «MongoError», сообщение: «в списке нет допустимых серверов начальных значений»}

Существует ли какая-либо конфигурация в строке подключения mongo, которая позволяет приложению переключаться на вторичный сервер, когда первичный сервер недоступен?

...