![](/img/trans.png)
[英]MongoDB mLab mongoose Node.js driver - connection timeout after a period of idle time?
[英]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应用程序运行它时, 都会出现此错误
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(苹果机)没有防火墙,端口也没有锁定:无线公司拥有它。
我得到了这个解决方案,尝试通过CLI ping mlab服务器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.