【发布时间】:2016-08-22 19:47:07
【问题描述】:
我在 Node.JS 中有一个应用程序,它基本上每 30 分钟从 WebAPI 检索数据快照。 当我尝试使用聚合查询来查询数据库时,应用程序触发了与超时相关的错误(MongoError:连接 1 到 127.0.0.1:27017 超时)。从我的日志中,我看到正好是 30 秒。 聚合查询是这样的:
collection.aggregate([{
"$group": {
"_id": {
country: "$country",
user: "$user"
}
}
}]).
我在不同的客户端(但相同的数据库)上测试了查询,25.000.000 条记录大约需要 60 秒。我的假设是有一个值为 30 秒的超时参数阻止我的应用程序完成查询。 有人可以告诉我如何在 Node.JS 中设置此参数吗?我正在使用 'mongodb' js 库,我的主机是 Windows。
由于这是一个个人项目,我想研究如何使用 MongoDB 而不是更传统的解决方案,例如 Oracle 或 MySQL,但这可能会破坏交易,因为分析是整个应用程序的核心部分。
【问题讨论】:
-
“应用程序触发了与超时相关的错误”听起来有点含糊。这个错误到底是什么样子的?它来自哪里?
-
错误是这样的:MongoError: connection 1 to 127.0.0.1:27017 timed out
标签: node.js mongodb aggregation-framework