Untitled
unknown
plain_text
4 years ago
3.4 kB
4
Indexable
[{ $match: { "date": { "$gte": ISODate('2021-09-05T20:39:33.073+00:00') } } }, { $facet: { counts: [{ $group: { _id: { "app": "$appId", "user": "$userId" }, devices: { $addToSet: "$deviceId" } } }, { $project: { "devices": { $size: "$devices" }, } }, { $group: { _id: { "app": "$_id.app" }, "devicesAvg": { $avg: "$devices" }, "devicesMax": { $max: "$devices" }, "devicesMin": { $min: "$devices" }, "users": { $sum: 1 } } }, { $project: { userDevices: { min: "$devicesMin", max: "$devicesMax", avg: "$devicesAvg" }, users: "$users" } }, ], devices: [{ $group: { _id: { "app": "$appId", "user": "$userId" }, devices: { $addToSet: "$deviceId" }, } }, { $group: { _id: { "app": "$_id.app" }, devices: { $addToSet: "$devices" }, } }, { $project: { devices: { $reduce: { input: "$devices", initialValue: [], in: { $concatArrays: ["$$value", "$$this"] }, }, }, }, }, ], endpoints: [{ $group: { _id: { "app": "$appId", "endpoint": "$endpoint" }, count: { $sum: 1 } } }, { $group: { _id: { "app": "$_id.app" }, endpoints: { $addToSet: { endpoint: "$_id.endpoint", count: "$count" } }, } }, ] } }, { $project: { result: { $setUnion: ["$counts", "$devices", "$endpoints"] } } }, { $unwind: "$result" }, { $replaceRoot: { newRoot: "$result" } }, { $group: { _id: { "app": "$_id.app", }, data: { $mergeObjects: "$$ROOT" } } }, { $replaceRoot: { newRoot: "$data" } }]
Editor is loading...