Sử dụng AggregationOption - skipOutput()
. Điều này sẽ không trả về kết quả trong trường hợp đường ống tổng hợp chứa hoạt động hợp nhất $ out / $.
mongoTemplate.aggregate(aggregation.withOptions(newAggregationOptions().skipOutput().allowDiskUse(true).build()), "collectionNme", EntityClass.class);
Nếu bạn đang sử dụng MongoDriver không có khuôn khổ.
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();
Tài liệu tham khảo:
- https://jira.mongodb.org/browse/JAVA-3700
- https://developer.mongodb.com/community/forums/t/mongo-java-driver-out-fails-in-lastpipelinestage-when-aggregate/9784