【发布时间】:2019-07-11 17:44:15
【问题描述】:
尝试使用 mongoose 库将 MongoDB 与 replicaSet 连接字符串连接起来。但是没有在生产服务器上连接,它给我一个错误:
name: 'MongoError',
message: 'failed to connect to server [test-machine:27018] on first connect [MongoError: getaddrinfo ENOTFOUND test-machine:27018 test-machine:27018]'
var mongoose = require('mongoose') //version 4.13.6
var options = { "db": {
"readPreference": "secondaryPreferred"
},
"replset": {
"rs_name": "testReplica",
}
}
var connection = mongoose.createConnection(`mongodb://localhost:27018/`,options);
connection.on('open', function () {
console.log('We are connected')
})
connection.on('error', function (err) {
console.log('Something went wrong')
console.log(err)
})
注意:上面的代码可以在我的本地机器中正常工作。
【问题讨论】:
-
默认端口是 27017 可以试试吗?此外,您可能需要在其 URL 的末尾包含您的数据库名称
-
@molamk 我的 mongo-docker 在 27018 端口上运行,我也尝试过使用数据库名称。但它仍然抛出同样的错误。
-
您可能希望将
docker标签添加到您的问题中。还有Dockerfile和相关配置
标签: node.js mongodb docker mongoose replicaset