5

現在、私は春に mongoTemplate として mongoDB を使用しています。

public List<BasicDBObject> getMoviesByName() {
    Aggregation aggregation = newAggregation(unwind("movies"), 
            match(where("movies.language").is("english")), 
            sort(Sort.Direction.DESC, "createDate"),
            group(fields().and("_id", "$_id").and("category", "$category")).push("$movies").as("movies"),
            project(fields().and("category", "$category").and("movies", "$movies")).andExclude("_id"));
    AggregationResults<BasicDBObject> groupResults = mongoTemplate.aggregate(
            aggregation, "movieCollection", BasicDBObject.class);
    return groupResults.getMappedResults();
}

私は例外を取得しています

 com.mongodb.CommandFailureException: { "serverUsed" : "XXX.XXX.XX.XX:27017" , "errmsg" : "exception: Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in." , "code" : 16819 , "ok" : 0.0}

私はいくつかの投稿を調査しましたが、allowDiskUse:true は解決策です。true を設定しようとしましたが、結果はありません。上記のコードの設定方法を教えてください。

4

2 に答える 2