将mongodb聚合查询转换为其在Java中的等效项

问题描述 投票:0回答:1

我有一个mongoDB聚合查询,通过该查询我可以获取字段的长度,该字段的长度不超过集合中的字符数。我需要帮助将该聚合查询转换为Java中的等效查询。请在下面找到汇总查询:

db.getCollection('staff').aggregate([
{"$match": {"department": "technology"}},
{"$project": {"maxCharLength": {"$strLenCP": "$firstName"}}},
{"$sort": {"maxCharLength": -1}},{"$limit":  1}
])

我需要将上述查询转换为Java中的等效查询。请在下面找到我正在尝试的Java代码:在下面的Java代码中,我对如何在项目中使用$ strLenCP感兴趣:

Aggregation agg = newAggregation(
      match(Criteria.where("department").in("technology")),
project(""), //how to  use  $strLenCP here
sort(Sort.Direction.DESC, "maxCharLength"),
limit(1));
mongoTemplate.aggregate(agg, "staff", Staff.class);

我有一个mongoDB聚合查询,通过该查询我可以获取字段的长度,该字段的长度不超过集合中的字符数。我需要帮助将该聚合查询转换为等效查询...

java spring-boot mongodb-query aggregation-framework spring-data-mongodb
1个回答
0
投票

您可以创建一个AggregationExpression并将其添加到项目中。

© www.soinside.com 2019 - 2024. All rights reserved.