MongoDB从3.4升级到4.0后Jaspersoft聚合查询报cursor必填错误求助
解决MongoDB 4.0升级后Jaspersoft Studio聚合查询报错(cursor选项缺失)
你遇到的这个问题是MongoDB 4.0对聚合命令的强制要求变更导致的——从4.0版本开始,执行aggregate命令必须显式指定cursor选项,除非是带explain参数的聚合操作。你之前在3.4版本的脚本里没有配置这个选项,升级后就触发了系统的校验报错。
修改后的正确查询脚本
只需要在你的runCommand结构里添加cursor选项即可,最简单的方式是使用默认空游标配置:
{ runCommand: { aggregate : 'Unite_ORG', pipeline : [ { $project : { "Miss_Attr.categorie":1, "Miss_Attr.texte":1 } }, { $unwind : '$Miss_Attr'} ], cursor: {} // 新增cursor选项,使用默认配置 } }
可选优化:自定义游标批次大小
如果你的数据集较大,还可以通过cursor的batchSize参数控制每次返回的数据量,避免一次性加载过多数据导致性能问题:
{ runCommand: { aggregate : 'Unite_ORG', pipeline : [ { $project : { "Miss_Attr.categorie":1, "Miss_Attr.texte":1 } }, { $unwind : '$Miss_Attr'} ], cursor: { batchSize: 1000 } // 每次返回1000条数据 } }
把修改后的脚本替换到Jaspersoft Studio中,就能正常执行数据查询了。
内容的提问来源于stack exchange,提问作者mohamed aghou
相关产品推荐
相关产品推荐

