How can i set "allowDiskUse" option in aggregation method in spring data-mongodb framework ?
2 Answers
The core aggregation abstraction in Spring Data MongoDB is - as the name suggests - Aggregation. It exposes a fluent API to build up a pipeline using aggregation operations.
As of version 1.6.0.M1 the Aggregation class has a ….withOptions(…) method to be used like this:
Aggregation aggregation = newAggregation(…) // build up pipeline in here
.withOptions(newAggregationOptions().allowDiskUse(true).build());
4 Comments
I found spring data-mongodb to have limited support for the aggregation framework, however you can simply use the native library leveraging spring mongo template:
mongoTemplate.getCollection("myCollection").aggregate(pipeline)
See
https://github.com/mongodb/mongo-java-driver/blob/master/src/test/com/mongodb/AggregationTest.java
on how to setup the List<DBObject> pipeline and how to setup allowDiskUse to true using the AggregationOptions.