0

我使用的聚合-API和我的聚集(一些分組等)傳遞給如何獲得MongoOperations聚合的可分頁結果?

MongoOperations.aggregate(aggregation, ...) 

但我不能找到一個操作如何獲得用於查詢的可分頁結果。 我可以包括排序,跳過和限制聚合來手工創建頁面,但我在這裏缺少總查詢大小。

是否有更好的方式獲得聚合的可分頁結果,而不是執行先前的計數查詢,其計數與沒有跳過和限制的聚合完全相同?

我想寫點東西像

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

Agregation管道不像普通查詢遊標那樣是「可分頁的」。 '$ skip'和'$ limit'被實現爲「流水線階段」,流水線結果不能以任何其他方式修改。 –

回答

0

MongoDB中返回的聚集單個文檔的結果。在彙總過程中,它還爲每個階段的中間結果使用單個文檔。

所以我不認爲你可以翻頁的結果,因爲它只有一個文件。也許你可以將結果保存在應用程序的內存中,因爲MongoDB文檔(以及因此的聚合結果)保證小於16 MB。

相關問題