首先进行写java代码之前我们也需要写好mongo的脚本,这方便我们写成java代码,也好校验我们写的java带是否正确
db.(表名).aggregate([
{
"$match": {
"$and": [
{
"eventTime": {
"$gte": ISODate("2022-10-30T11:00:00.000+0800")
}
},
{
"eventTime": {
"$lte": ISODate("2022-10-30T12:00:00.000+0800")
}
},
{"changeType": "REDEEM_MODIFY" }
]
}
},
//第一层分组,分组就有去重的效果,通过$first拿到我们需要的统计该类型下的数量,
{
"$group": {
"_id": "$extra.REDEEM_CHANGE.id",//该document,嵌套多层,我们可以通过.来进行访问
"brand": { $first: "$brand" }
}
},