我有在mongo中工作的聚合,我需要使用spring在java中创建一个确切的聚合。我找不到办法。你知道是否有吗?
db.collection_name.aggregate([
{
$group: {
_id : {
year : {$year : "$receivedDate" },
month : {$month: "$receivedDate"},
day : { $dayOfMonth : "$receivedDate"}
},
count : { $sum: 1 }
}
}
])
答案 0 :(得分:0)
您可以先尝试使用投影操作中的 SpEL andExpression
投影字段,然后按组操作中的新字段进行分组:
Aggregation agg = newAggregation(
project()
.andExpression("year(receivedDate)").as("year")
.andExpression("month(receivedDate)").as("month")
.andExpression("dayOfMonth(receivedDate)").as("day"),
group(fields().and("year").and("month").and("day"))
.count().as("count")
);