我经常使用 MongoTemplate 进行聚合操作,但效率不高。我想“提示”指定我自己的索引来提高性能
但是AggregationOptions中不能添加“hint”选项
我看到 DBCollection 可能能够执行此操作,但我没有找到执行此操作的方法。AggregateOperation 不是 DBCollection 聚合方法中的参数,AggregateOperation 是我能找到的唯一可以使用“提示”的地方
mongodb version is4.0.4
Spring-data-mongodb version is 2.1.4
The mongodb-driver version is 3.8.2
JDK 11
1.org.springframework.data.mongodb.core.aggregation.AggregationOption可用参数:
public AggregationOptions(boolean allowDiskUse, boolean explain, @Nullable Document cursor,
@Nullable Collation collation) {
this.allowDiskUse = allowDiskUse;
this.explain = explain;
this.cursor = Optional.ofNullable(cursor);
this.collation = Optional.ofNullable(collation);
}
2.com.mongodb.AggregationOptions可用参数:
AggregationOptions(AggregationOptions.Builder builder) {
this.batchSize = builder.batchSize;
this.allowDiskUse = builder.allowDiskUse;
this.outputMode = builder.outputMode;
this.maxTimeMS = builder.maxTimeMS;
this.bypassDocumentValidation = builder.bypassDocumentValidation;
this.collation = builder.collation;
}
我只是想通过索引提高查询效率。查询速度太慢。一个复杂的查询需要 20 秒。简单查询也需要4~5s。
英文不是很好,表达不清楚请见谅。
波斯汪
相关分类