получение ошибок ReplicaSetNoPrimary и MongoServerSelectionError при подключении MongoDB с nodejs - PullRequest
3 голосов
/ 04 февраля 2020

Я пытаюсь подключиться к mongodb, но ошибка ниже, не могли бы вы помочь

var mongo = require('mongodb').MongoClient;
mongo.connect('mongodb://usernamexyz:passwordxyz@hostmxy-mw-e6-u1238.nam.nsroot.net:47017/sampleDB?replicaSet=NAME_2436&readPreference=primary&authSource=admin&w=1', { useNewUrlParser: true, useUnifiedTopology: true  })
.then(() => console.log("Mongodb connected"))
.catch(err => console.log(err));

И ошибка, которую я получаю, как показано ниже

MongoServerSelectionError: connection <monitor> to 155.30.360.129:37017 closed
    at Timeout._onTimeout (C:\Fintech\NodeFirstApp\node_modules\mongodb\lib\core\sdam\topology.js:448:30)
    at listOnTimeout (internal/timers.js:531:17)
    at processTimers (internal/timers.js:475:7) {
  name: 'MongoServerSelectionError',
  reason: TopologyDescription {
    type: 'ReplicaSetNoPrimary',
    setName: null,
    maxSetVersion: null,
    maxElectionId: null,
    servers: Map {
      'hostmxy-mw-e6-u1238.nam.nsroot.net:47017' => [ServerDescription]
    },
    stale: false,
    compatible: true,
    compatibilityError: null,
    logicalSessionTimeoutMinutes: null,
    heartbeatFrequencyMS: 10000,
    localThresholdMS: 15,
    commonWireVersion: null
  },
  [Symbol(mongoErrorContextSymbol)]: {}
}

Ответы [ 3 ]

0 голосов
/ 03 марта 2020

Я также получал ту же ошибку при подключении к атласу MongoDB. Вы должны сделать следующие вещи. 1. разрешить исходящий порт 27015-27017 в брандмауэре в вашей системе. 2. обновить последнюю версию MongoDB и NodeJs. 3. внесите в белый список IP-адрес вашей системы в атласе MongoDB при доступе к сети.

Это сработало для меня. Я надеюсь, что это работает и для вас.

0 голосов
/ 22 апреля 2020

Как сказал MR Jay другими словами, это также может произойти, если ваш IP-адрес отличается от того, который зарегистрирован в вашей учетной записи Atlas (например, если вы не используете stati c IP).

Проверьте «Доступ к сети» в своей учетной записи MongoDB Atlas и сравните с вашим текущим IP.

0 голосов
/ 05 февраля 2020

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

...