我试图从我的nodejs应用程序连接到mongoDB Atlas,这给了我以下错误:
SERVER STARTED...
listening on port 'http://localhost:8080'
Could not connect to the MongoDB database. Exiting now... { Error: connect ECONNREFUSED 13.234.134.161:27017
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {} }
我还在Mongodb Cloud(Atlas)上将IP列入了白名单。我将其设置为“所有人访问”,即:0.0.0.0/0
相同的代码在我的本地计算机上工作正常。
SERVER STARTED...
listening on port 'http://localhost:8080'
Successfully connected to the MongoDB database
当我将代码部署到GoDaddy共享linux托管服务器并尝试从那里进行连接时,会发生问题。
有什么不同...?
我的nodejs代码是:
app.set('port', process.env.PORT || 8080);
var options = {
useNewUrlParser: true,
useUnifiedTopology: true
}
mongoose.connect(dbConfig.dbUrl, options, function(err){
if(err){
console.log('Could not connect to the MongoDB database. Exiting now...', err);
process.exit();
} else {
console.log("Successfully connected to the MongoDB database");
}
});
const server = app.listen(app.get('port'), function(){
console.log(`SERVER STARTED...\nlistening on port 'http://localhost:${app.get('port')}'`);
});
数据库网址如下:
dbUrl: "mongodb+srv://<USERNAME>:<PASSWORD>@cluster0-qsfll.mongodb.net/<DATABASE>?retryWrites=true&w=majority"
如果有人遇到相同的问题并解决了该问题,请在此处写下解决方案。谢谢:)。
答案 0 :(得分:0)
遇到同样的问题。
尝试删除useUnifiedTopology
。
对我有帮助。