繁体   English   中英

Java的无限游标Mongo DB

[英]unlimited cursor Mongo DB for java

我正在使用此汇总查询将所有文档都放入纸盘,但是这里的问题是光标受到限制,他大约返回了500个结果。 我尝试了limit(0)但是不起作用! ,我也尝试使用limit(10000)或limit(20000),但它不起作用,我总是得到500个结果

 AggregateIterable<Document> resultMongo = collection.aggregate(Arrays.asList(
                    Aggregates.match(and(filters)),
                    Aggregates.group(and(eq(CoverageWarningFieldEnum.DT_EXTRACT.getLabel(), "$" + CoverageWarningFieldEnum.DT_EXTRACT.getLabel())
                            , eq(CoverageWarningFieldEnum.ID_SUP_NUMBER.getLabel(), "$" + CoverageWarningFieldEnum.ID_SUP_NUMBER.getLabel())
                            , eq(CoverageWarningFieldEnum.CODE_SUPPLIER_DLPA_SITE.getLabel(), "$" + CoverageWarningFieldEnum.CODE_SUPPLIER_DLPA_SITE.getLabel())
                            , eq(CoverageWarningFieldEnum.SUP_NAME.getLabel(), "$" + CoverageWarningFieldEnum.SUP_NAME.getLabel())
                            , eq(CoverageWarningFieldEnum.MLF07_GRPFOU.getLabel(), "$" + CoverageWarningFieldEnum.MLF07_GRPFOU.getLabel()))
                            , sum("sum_w_ord_unit_ord_min_coverage", "$" + CoverageWarningFieldEnum.W_ORD_UNIT_ORD_MIN_COVERAGE.getLabel())
                            , sum("sum_w_excess_delivery", "$*" + CoverageWarningFieldEnum.W_EXCESS_DELIVERY.getLabel())
                            , sum("sum_w_inventory", "$" + CoverageWarningFieldEnum.W_INVENTORY.getLabel())
                            , sum("sum_w_service_blocking", "$" + CoverageWarningFieldEnum.W_SERVICE_BLOCKING_2.getLabel())
                            , sum("sum_w_service_blocking_4", "$w" + CoverageWarningFieldEnum.W_SERVICE_BLOCKING_4.getLabel())
                            , sum("sum_w_coverage_change", "$" + CoverageWarningFieldEnum.W_COVERAGE_CHANGE.getLabel())
                            , sum("sum_w_pa_supervision", "$" + CoverageWarningFieldEnum.W_PA_SUPERVISION.getLabel())
                            , sum("sum_val_pn_stock_total_euro", "$" + CoverageWarningFieldEnum.VAL_PN_STOCK_TOTAL_EURO.getLabel())
                            , sum("sum_val_pn_average_sale_12month_euro", "$" + CoverageWarningFieldEnum.VAL_PN_AVERAGE_SALE_12MONTH_EURO.getLabel())
                            , sum("sum_score", "$" + CoverageWarningFieldEnum.SCORE.getLabel())),
                    Aggregates.sort(Sorts.orderBy(Sorts.descending(CoverageWarningFieldEnum.SCORE.getLabel())))
            ));

你做错了。

聚合是“分组依据”操作。 这就是为什么将结果集分为500组。

这清楚地说明了有关聚合分组的信息https://docs.mongodb.com/manual/aggregation/

如果要加载所有记录,请使用mongo“ find”操作。 https://docs.mongodb.com/manual/reference/method/db.collection.find/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM