0

我使用的聚合-API和我的聚集(一些分组等)传递给如何获得MongoOperations聚合的可分页结果?

MongoOperations.aggregate(aggregation, ...) 

但我不能找到一个操作如何获得用于查询的可分页结果。 我可以包括排序,跳过和限制聚合来手工创建页面,但我在这里缺少总查询大小。

是否有更好的方式获得聚合的可分页结果,而不是执行先前的计数查询,其计数与没有跳过和限制的聚合完全相同?

我想写点东西像

MongoOperations.aggregate(aggregation, MyClass.class, MyClass.class, pageable) 
+0

Agregation管道不像普通查询游标那样是“可分页的”。 '$ skip'和'$ limit'被实现为“流水线阶段”,流水线结果不能以任何其他方式修改。 –

回答

0

MongoDB中返回的聚集单个文档的结果。在汇总过程中,它还为每个阶段的中间结果使用单个文档。

所以我不认为你可以翻页的结果,因为它只有一个文件。也许你可以将结果保存在应用程序的内存中,因为MongoDB文档(以及因此的聚合结果)保证小于16 MB。

相关问题