MongoDB mLab mongoose Node.js驱动程序 – 连接超时一段空闲时间后?

我有一个简单的Node.js ,使用mongoosemLab上托pipe的Mongo数据库连接。

一切似乎工作得很好:添加新的logging,查询现有的东西。

有时候,经过一段时间的不活动之后,当我看着控制台时,我看到以下内容:

events.js:160 throw er; // Unhandled 'error' event ^ Error: connection timeout at Db.<anonymous> (___PATH___/node_modules/mongoose/lib/drivers/node-mongodb-native/connection.js:168:17) at emitTwo (events.js:106:13) at Db.emit (events.js:191:7) at Server.listener (___PATH___/node_modules/mongodb/lib/db.js:1786:14) at emitOne (events.js:96:13) at Server.emit (events.js:188:7) at Server.<anonymous> (___PATH___/node_modules/mongodb/lib/server.js:274:14) at emitOne (events.js:96:13) at Server.emit (events.js:188:7) at Pool.<anonymous> (___PATH___/node_modules/mongodb-core/lib/topologies/server.js:334:12) at emitOne (events.js:96:13) at Pool.emit (events.js:188:7) at Connection.<anonymous> (___PATH___/node_modules/mongodb-core/lib/connection/pool.js:270:12) at Connection.g (events.js:292:16) at emitTwo (events.js:106:13) at Connection.emit (events.js:191:7) 

现在对我来说并不重要 – 我总是可以重新启动应用程序。 我担心在制作过程中会引起很多头疼的问题,所以我抢先问这里有什么问题?

请注意,最初一切工作正常,一段时间后,我得到Error: connection timeout

1)您的互联网连接似乎有波动。 也许这是连接超时的原因。 2)或者你可以通过设置超时来处理它

 var timeout = require('connect-timeout'); app.use(timeout('5s')); 

在你的app.js文件中