【发布时间】:2017-03-08 00:36:30
【问题描述】:
聚合看起来像:
res = Things.objects._collection.aggregate(pipeline,
allowDiskUse=True,
batchSize=101,
noCursorTimeout=True
)
失败了
OperationFailure:无法识别的字段“noCursorTimeout”
从 Pymongo 文档中可以看出 no_cursor_timeout 可以与 find() 一起使用,但是我一直没有成功为 aggregate() 找到可比较的 **kwargs。
我不想使用 setParameter 或 maxTimeMS。
更新:
来自 MongoDB 的 Jira 站点:SERVER-15042
OP_QUERY 标头中的 NoCursorTimeout 位可防止服务器关闭空闲超过 10 分钟的游标。如果客户可能花费超过 10 分钟来处理一批结果,则可以设置此位。
“aggregate”和“parallelCollectionScan”命令也应该允许客户端关闭光标超时。
对这张票的回应是:
我们故意不支持 noCursorTimeout。理由 当我们实现游标保持活动时,需要这个就会消失。那 将在 SERVER-6036 中跟踪工作。
看着SERVER-6036:
- 更新时间:2016 年 9 月 14 日下午 3:53:05 GMT+0000
- 状态:打开
- 解决方案:未解决
- 修复版本/秒:已计划但未计划
如果我已正确阅读文档,则聚合()尚不存在游标无超时选项。
【问题讨论】:
标签: python find aggregate pymongo