在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版本之间有一些小问题。
看到