sql >> Databasteknik >  >> NoSQL >> MongoDB

Streamar resultatet av en aggregerad operation med spring-data-mongodb

För de som fortfarande försöker hitta svaret på detta:

Från spring-data-mongo version 2.0.0.M4 och framåt (AFAIK ) MongoTemplate fick en aggregateStream metod.

Så du kan göra följande:

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



  1. MongoDB fyll i data som inte ingår i frågeresultatet

  2. Mongodb unikt sparsamt index

  3. Hur man optimerar prestanda för MongoDB

  4. Uppdatera och returnera dokument i Mongodb