Voor degenen die nog steeds het antwoord hierop proberen te vinden:
Vanaf spring-data-mongo versie 2.0.0.M4 en later (AFAIK ) MongoTemplate
heb een aggregateStream
methode.
U kunt dus het volgende doen:
AggregationOptions aggregationOptions = Aggregation.newAggregationOptions()
// this is very important: if you do not set the batch size, you'll get all the objects at once and you might run out of memory if the returning data set is too large
.cursorBatchSize(mongoCursorBatchSize)
.build();
data = mongoTemplate.aggregateStream(Aggregation.newAggregation(
Aggregation.group("person_id").count().as("count")).withOptions(aggregationOptions), collectionName, YourClazz.class);