Не удается подключиться к реплике mongodb. - PullRequest
0 голосов
/ 24 августа 2018

Версия узла: 10.9.0

Версия Mongoose: 4.9.10

Выпуск версии Mongo: 3.6

Я пытаюсь подключиться к реплике, установленной в MongoDB, используя mongoose в Nodejs с моей локальной машины.Но мое соединение прерывается с ошибкой:

MongoError: failed to connect to server [\*.\*.\*.\*:27017] on first connect [MongoError: connection 13 to \*.\*.\*.\*:27017 timed out]

Однако я могу подключиться к отдельным узлам из оболочки mongo на моем локальном компьютере.Код Nodejs для подключения к набору реплик выглядит следующим образом:

var options_compute = {  
   auth:{  
      authdb:'admin'
   },
   user:'username',
   pass:'password',
   replset:{  
      auto_reconnect:true,
      socketOptions:{  
         keepAlive:30000,
         connectTimeoutMS:30000,
         socketTimeoutMS:30000
      }
   },
   server:{  
      socketOptions:{  
         keepAlive:30000,
         connectTimeoutMS:30000,
         socketTimeoutMS:30000
      }
   }
};

var ip = "mongodb://"+public_ip1+":27017,"+public_ip2+":27017,"+public_ip2+":27017/db_name?replicaSet=rs0"; 

connect_compute = mongoose.createConnection('ip', options_compute);

Экземпляры MongoDB размещены в AWS под управлением Amazon Linux.Код работает, когда я развертываю его в AWS, но не работает в моей локальной среде.

PS:

  1. Я не могу использовать .connect () из Mongoose для подключения, потому что мне нужно держать объект подключения.

  2. Я не могу использовать любую строку подключения mongo, такую ​​как: mongodb: // имя пользователя: пароль @ ip: порт / база данных, поскольку мой пароль содержит @

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...