Версия узла: 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:
Я не могу использовать .connect () из Mongoose для подключения, потому что мне нужно держать объект подключения.
Я не могу использовать любую строку подключения mongo, такую как: mongodb: // имя пользователя: пароль @ ip: порт / база данных, поскольку мой пароль содержит @