sql >> Databasteknik >  >> NoSQL >> MongoDB

Kör MongoTemplate.aggregate utan radhämtning

Använd AggregationOption - skipOutput() . Detta kommer inte att returnera ett resultat i händelse av att aggregeringspipeline innehåller $out/$merge-operation.

mongoTemplate.aggregate(aggregation.withOptions(newAggregationOptions().skipOutput().allowDiskUse(true).build()), "collectionNme", EntityClass.class);

Om du använder MongoDriver utan ramverk.

MongoClient client = MongoClients.create("mongodb://localhost:27017");
 MongoDatabase database = client.getDatabase("my-collection");
 MongoCollection<Document> model = database.getCollection(collectionName);
 AggregateIterable<Document> aggregateResult = model.aggregate(bsonListOfAggregationPipeline);
 
 // instead iterating over call toCollection() to skipResult
 aggregateIterable.toCollection();

Referenser:



  1. Hur man infogar till en MongoDB-samling med en position

  2. Vad är nytt i MongoDB 4.2

  3. Kan mongo returnera dokument med tomma/saknade fält i slutet i asc-ordning?

  4. Lua script och redis - hur man testar för Inget värde