If you want the aggregated data to be stored in a specific column format then use $project.
Here is an example:-
pipeline1 = [
{
'$group':
{'_id': {
'device_id': '$device_id',
'date': {'$dateToString': {'format': '%Y-%m-%d', 'date': '$timestamp'}},
},
'avg_v': {'$avg': "$value"},
'min_v':{'$min':"$value"},
'max_v':{'$max':"$value"}
}
},
{
'$project':
{
'_id': 0,
'device_id': '$_id.device_id',
'avg_value': '$avg_v',
'min_value': '$min_v',
'max_value': '$max_v',
'date': '$_id.date'
}
}
]
The aggregated data structure will be as shown below in database:-
_id: 61af14c283751487558e8494
device_id: "DT002"
avg_value: 23
min_value: 19
max_value: 26
date: "2020-12-05"