如何调试MongoError无法连接

时间:2017-07-13 01:31:32

标签: node.js mongodb mongoose compose

在通过节点6.11.1和mongoose 4.10.4成功连接到mongo进程后的服务器日志中,我开始看到此错误:

  

MongoError:第一次连接时无法连接到服务器[aws-us-east-1-portal.8.dblayer.com:15180] [MongoError:连接0到aws-us-east-1-portal.8。 dblayer.com:15180超时]

在此期间,mongoose发现了一个问题:

mongoose.connection.readyState的值为0.

我还可以做些什么来调试连接问题?还有其他方法可以检查这个或弄清楚发生了什么以及如何解决它?

mongo数据库(版本3.2.10)实际上是在compose.io上运行的,在此期间,compose.io接口显示了数据库的所有健康状态。

  • 节点:6.11.1
  • Mongoose 4.10.4
  • MongoDB:3.2.10

1 个答案:

答案 0 :(得分:0)

您可以尝试延长超时时间吗?

const mongoose = require('mongoose');
const option = {
    socketTimeoutMS: 30000,
    keepAlive: true,
    reconnectTries: 30000
};

const mongoURI = process.env.MONGODB_URI;
mongoose.connect(mongoURI, option).then(function(){
    //connected successfully
}).catch(function(err) {
    //err handle
});