MongoDB在JAVA中如何使用aggregation GroupOperation Method



我有一个基于条件的查询和使用计数,而在java中我使用聚合GroupOperation对象。那么如何在JAVA中编写这个语句呢?示例查询:

{
$group: {
_id: {
"categoryCode": "$categoryCode",
"categoryName": "$categoryName"
},
"cat_count": {
$sum: {
$cond: [{ $eq: ["$cat_type", "A"] }, 1, 0]
}
}
}
}

您可以使用org.springframework.data.mongodb.core.aggregation包中的Aggregation类来编写此查询。

ConditionalOperators.Cond cond = ConditionalOperators.Cond.when(ComparisonOperators.Eq.valueOf("$cat_type").equalToValue("A"))
.then(1)
.otherwise(0);
GroupOperation groupOperation = Aggregation.group("categoryCode", "categoryName").sum(cond).as("cat_count");

现在使用这个groupOperation和mongotemplate来执行查询。

相关内容

  • 没有找到相关文章

最新更新