我在Node.JS中有一个应用程序,它基本上每30分钟从WebAPI检索一次数据快照。当我尝试使用聚合查询查询数据库时,该应用程序触发与超时有关的错误(MongoError:连接1到127.0.0.1:27017超时)。从我的日志中,我看到恰好是30秒。聚合查询如下所示:
collection.aggregate([{
"$group": {
"_id": {
country: "$country",
user: "$user"
}
}
}]).
Run Code Online (Sandbox Code Playgroud)
我在不同的客户端(但使用相同的数据库)上测试了该查询,它需要大约60秒才能处理25.000.000条记录。我的假设是有一个超时参数,其值为30秒,该参数阻止我的应用程序完成查询。有人可以告诉我如何在Node.JS中设置此参数吗?我正在使用“ mongodb” js库,并且我的主机是Windows。
由于这是一个个人项目,因此我想研究如何使用MongoDB代替更传统的解决方案(例如Oracle或MySQL),但这可能会破坏交易,因为分析是整个应用程序的核心部分。