ReplicaSet в URI, но MongoClient (Node) по-прежнему выдает: «MongoError: начальный список не содержит прокси-серверы mongos ...» - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь подключиться к базе данных, для которой необходимо указать опции replicaSet. Когда я беру эти параметры и передаю их как строку запроса в URI, выдается следующая ошибка (если я решу использовать newUrlParser):

MongoError: seed list contains no mongos proxies, replicaset connections requires 
            the parameter replicaSet to be supplied in the URI or options object, 
            mongodb://server:port/db?replicaSet=name

Однако, если я передам параметр replicaSet как часть объекта MongoClient options, они, похоже, будут работать нормально:

client = await MongoClient.connect(DB_URI, {
  newUrlParser: true,
  replicaSet: ...
}

Проблема в том, что каждая часть строки соединения хранится как переменные ENV (что я не могу изменить), поэтому они на самом деле установлены как "?replicaSet=...&otherOption=...", и я не хочу разбирать их в объект для заставить это работать.

Кроме того, я мог бы отключить newUrlParser, но это не лучший способ обойти эту проблему. Мне удалось найти людей, говорящих о подобной проблеме в потоке JIRA , но она, кажется, исправлена ​​для них, и я использую последнюю версию, но все еще вижу проблему.


Версия: "mongodb": "3.2.2"

...