mLab MongoDB 连接总是通过 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),我摆脱了这个问题。

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章