我正在尝试使用以下主要代码通过 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] 删除。
我来说两句