使用spring在mongodb中创建聚合

时间:2015-06-25 12:11:01

标签: java spring mongodb aggregation-framework

我有在mongo中工作的聚合,我需要使用spring在java中创建一个确切的聚合。我找不到办法。你知道是否有吗?

db.collection_name.aggregate([ 
    { 
        $group: { 
            _id : { 
                year : {$year : "$receivedDate" }, 
                month : {$month: "$receivedDate"}, 
                day : { $dayOfMonth : "$receivedDate"}
            },
            count : { $sum: 1 }
        }
    }
])

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")
);