mLab MongoDB 通过 NodeJS 连接总是超时

mLab MongoDB connection always timeout via NodeJS

我正在尝试通过 NodeJS webapp 连接到 mLab MongoDB 数据库,主要代码如下:

var express= require('express');
var app=express();
var mongoose=require('mongoose');
var config=require('./config');
var apiMain=require('./controllers/apiMain');
var timeout = require('connect-timeout');
app.use(timeout('10s'));
var port=process.env.PORT || 3000;

app.use('/', express.static(__dirname + '/public'));

app.set('view engine', 'ejs');

mongoose.connect(config.getDbConnString(), { useMongoClient: true });
mongoose.Promise=global.Promise;
var db=mongoose.connection;
db.on('error', console.error.bind(console,'errore di connessione'));

apiMain(app);

app.listen(port);

连接字符串(通过配置文件获取)正确,我得到没有编译错误

顺便说一下,每次我尝试使用 nodemon app 运行 时,我都会收到此错误

errore di connessione { Error: read ETIMEDOUT
    at _errnoException (util.js:1022:11)
    at TCP.onread (net.js:615:25) name: 'MongoError', message: 'read ETIMEDOUT' }
Unhandled rejection Error: read ETIMEDOUT
    at _errnoException (util.js:1022:11)
    at TCP.onread (net.js:615:25)

我想把超时增加到 10 秒以上:当然,它也不起作用。

在尝试了不同的解决方案后(比如在项目中重新安装整个 npm),我从问题中解脱了。

节点,没有给你任何关于锁定端口的信息,这是问题所在:我试着用另一个连接来解决这个问题。

我的电脑(Mac)没有任何防火墙,也没有锁定端口:无线公司有。

我得到了这个解决方案,试图通过 CLI ping mlab 服务器。