MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Streaming des Ergebnisses einer aggregierten Operation mit spring-data-mongodb

Für diejenigen, die immer noch versuchen, die Antwort darauf zu finden:

Ab spring-data-mongo Version 2.0.0.M4 aufwärts (AFAIK ) MongoTemplate bekam einen aggregateStream Methode.

Sie können also Folgendes tun:

 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);