LinkedHashMap
のバックアップ/ Document
(2.0.0 spring mongoのバージョン)とjava 8ストリームメソッドを使用してコレクションタイプに解析します。
単一のプロパティ(abc
) - リストタイプ
Aggregation aggregation = Aggregation.newAggregation(Aggregation.project("abc"));
List<String> singleResults = mongoOperations.aggregate(aggregation, "collectioname", BasicDBObject.class).getMappedResults().stream().map(item -> item.getString("abc")).collect(Collectors.toList());
複数のプロパティ(pqr, xyz
) - 地図タイプ
Aggregation aggregation = Aggregation.newAggregation(Aggregation.project("pqr, xyz"));
List<Map> multipleResults = mongoOperations.aggregate(aggregation,"collectioname", BasicDBObject.class).getMappedResults().stream().map (item -> (LinkedHashMap) item).collect(Collectors.toList());
更新(サーバーからの読み込み)
単一のプロパティ(abc
) - リストタイプ
Aggregation aggregation = Aggregation.newAggregation(Aggregation.group().push("abc").as("abc"));
List<String> singleResults = (List<String>) mongoOperations.aggregate(aggregation, "collectioname", BasicDBObject.class).getUniqueMappedResult().get("abc");
複数のプロパティ(pqr
、xyz
) - 地図タイプ
何を示唆して反復集計結果のより多くのスタイルの方法(この方法は、従来使用して反復するよりも効率的であるなら、私が知っているのである
Aggregation aggregation = Aggregation.newAggregation(Aggregation.group().push("pqr").as("pqr").push("xyz").as("xyz"));
Map multipleResults = mongoOperations.aggregate(aggregation,"collectioname", BasicDBObject.class).getUniqueMappedResult();
ため、各ループ)。私はMongoDBサーバーで実際の処理が行われる解決策を探していました。 – Harish
さて、あなたのコメントに基づいて回答を更新しました。お気軽に批判してください。 – Veeram