私は(ソートではありません、私は春のJavaプロジェクトに使用したいが、私は、正しいJavaコードを記述するために管理することはできません。このMongoDBのクエリ
db.getCollection('myCollection').aggregate(
[{
$project: {
length: {
$strLenCP: "$prefix"
}
}
}, {
$sort: {
length: -1
}
}]
)
を持っています問題)。
私はこの
Aggregation agg = newAggregation(project().andExpression("strLenCP(prefix)").as("prefixLength"));
AggregationResults <RequestSettingsWithPrefixLength> results = mongoTemplate.aggregate(agg, RequestSettings.class, RequestSettingsWithPrefixLength.class);
List <RequestSettingsWithPrefixLength> requestSettingsList = results.getMappedResults();
を試してみましたが、私はAGGのJSON(デバッグモード)でヌルキーを取得しています:
{
"aggregate": "__collection__",
"pipeline": [{
{
"$project": {
"prefixLength": {
"null": ["$prefix"]
}
}
}]
}
}
私は私のAGGオブジェクトがこの投影操作を持っていることがわかります。
expression -> strLenCP(prefix)
field -> AggregationField: AggregationField - name: prefixLength, target: prefixLength, synthetic: true
params -> []
これは正しいとは確信していませんが、strLenCPを使用するドキュメントは見つかりません。 strLenCP投影を使用したこのテストのみが見つかりました: https://github.com/spring-projects/spring-data-mongodb/blob/dc57b66adfd60b4d69d1d349b4fcfa4ab0da95e7/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/aggregation/SpelExpressionTransformerUnitTests.java#L922
誰かが助けてくれますか?
乾杯
フォーマットのための@Sagar Reddy – marcesso
Npに感謝します。 spring-mongo-dbのどのバージョンですか? – Veeram
mongo-java-driverのバージョンは3.4.0で、org.springframework.dataは1.9.5です。リリース – marcesso