-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
29 lines (29 loc) · 898 Bytes
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
db.getCollection('stats').aggregate([
{ $match: { deviceID: '5B1E7720-C276-4683-8214-1367D83D4067' } },
{
$group: {
_id: { $dateToString: { format: '%Y-%m-%d', date: '$createdAt' } },
preffered_distance: { $sum: '$preffered.distance' },
preffered_duration: { $sum: '$preffered.duration' },
preffered_CO2: { $sum: '$preffered.CO2' },
optimal_distance: { $sum: '$optimal.distance' },
optimal_duration: { $sum: '$optimal.duration' },
optimal_CO2: { $sum: '$optimal.CO2' },
},
},
{
$addFields: {
preffered: {
distance: '$preffered_distance',
duration: '$preffered_duration',
CO2: '$preffered_CO2',
},
optimal: {
distance: '$optimal_distance',
duration: '$optimal_duration',
CO2: '$optimal_CO2',
},
},
},
{ $project: { preffered: 1, optimal: 1, _id: 1 } },
]);