在Node.js中从MongoDB获取数据时出错

我试图从MongoDB中获取数据,每次数据库连接都可以,没有任何错误。 但是,当我试图获取数据,它给了我下面的错误:

{ [MongoError: connection 5 to c1669.candidate.18.mongolayer.com:11669 timed out] name: 'MongoError', message: 'connection 5 to c1669.candidate.18.mongolayer.com:11669 timed out' } 

但是,前10到11次尝试都很好,正在从mongo得到预期的数据,后来我不断地由上述错误引入。

更多信息:使用mongodb npm模块 。

我认为它的连接池大小的问题,你说的第一次10-11尝试是好的,所以可能是你已经定义了非常有限的连接池大小,所以当你创build连接时,超过限制它不允许查询数据库。 请检查它,因为我不确定没有看到代码,但这可能是原因。

更新:

在连接到数据库时试试下面的选项。

 var dbOptions = { server: { socketOptions: { keepAlive: 100, connectTimeoutMS: 30000 } } }; mongoose.connect('mongodb://localhost/db', dbOptions); 

请参阅此链接,因为您似乎正在使用复制数据集。 https://github.com/Automattic/mongoose/issues/2089

请更新到mongodb驱动2.2.10+版本 – 因为连接池重构2.1.11-2.2.4版本之间有一些小问题。

看到