使用 spring 在 mongodb 中创建聚合

Create aggregation in mongodb with spring

我有在 mongo 中工作的聚合,我需要在 java 中使用 spring 创建准确的聚合。我没有找到办法。不知道有没有?

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

您可以尝试先在投影操作中使用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")
);