【发布时间】:2021-06-21 00:41:11
【问题描述】:
我有文档数组需要按日期分组,并按日期给出 dat 数组的 max 、 min 和 avg 。但无法得到结果,因为 dat 是数组。
"ArryObj": [{
"dat": [-84.2, -83.9, -84.9, -85.3, -86.8, -85.6, -84.6, -86.4],
"Date": "26-05-2021",
"Time": "13:02:42",
},{
"dat": [-90.2, -83.9, -84.9, -85.3, -86.0, -85.0, -84.2, -86.4],
"Date": "26-05-2021",
"Time": "13:02:42",
},
{
"dat": [-100.2, -83.9, -90, -85.3, -86.0, -85.0, -84.2, -86.4],
"Date": "27-05-2021",
"Time": "13:02:42",
},
{
"dat": [-80, -79.9, -63, -79.3, -78.0, -76.0, -77.2, -79.4],
"Date": "28-05-2021",
"Time": "13:02:42",
}
]
我试过了:但我们得到了结果
db.deviceregisters.aggregate([
{$match:{_id:ObjectId('00a71c5bcc4d86315b638250')}},
{$project:{_id:0,
dataCollection:1,
}},
{$unwind:"$ArryObj"},
{
$group:{_id:{date:"$ArryObj.Date"},maxNum:{$max:'$ArryObj.dat'},minNum:
{$min:'$ArryObj.dat'}}
}
]).pretty()
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework