db.Log.aggregate(
{$match:{ CreateTime: { "$gte" : ISODate("2025-01-08T09:00:00Z"), "$lte" : ISODate("2025-01-08T10:00:00Z") } }}, {$match:{ CatSinginId : { "$ne" : 0 } }},
{$group:{ _id : { CatSinginId : "$CatSinginId", "IotId" : "$IotId" }, ParameterDic : { "$push" : "$ParameterDic" } }},
{$project:{ _id : 0, IotId : "$_id.IotId", CatSinginId : "$_id.CatSinginId", ParameterDic : "$ParameterDic" }},
{$sort:{ CatSinginId : -1 }},
{$skip:0},
{$limit:20}
)
创建聚合查询:
db.Log.aggregate()
聚合查询添加条件过滤:
{$match:{ CreateTime: { "$gte" : ISODate("2025-01-08T09:00:00Z"), "$lte" : ISODate("2025-01-08T10:00:00Z") } }},
{$match:{ CatSinginId : { "$ne" : 0 } }},
将查询结果分组:
{$group:{ _id : { CatSinginId : "$CatSinginId", "IotId" : "$IotId" }, ParameterDic : { "$push" : "$ParameterDic" } }},
输出查询结果:
{$project:{ _id : 0, IotId : "$_id.IotId", CatSinginId : "$_id.CatSinginId", ParameterDic : "$ParameterDic" }},
排序&分页
{$sort:{ CatSinginId : -1 }},
{$skip:0},
{$limit:20}