Database

[{"productId":1,"deploymentStatus":"Succeeded","startedAt":ISODate("2021-01-21T14:00:19.782Z"),"completedAt":ISODate("2021-01-21T14:03:55.789Z")},{"productId":2,"deploymentStatus":"Failed","startedAt":ISODate("2021-01-21T15:00:19.782Z"),"completedAt":ISODate("2021-01-21T15:03:55.789Z")},{"productId":3,"deploymentStatus":"Cancelled","startedAt":ISODate("2021-01-21T16:00:19.782Z"),"completedAt":ISODate("2021-01-21T16:03:55.789Z")},{"productId":1,"deploymentStatus":"Failed","startedAt":ISODate("2021-01-21T17:00:19.782Z"),"completedAt":ISODate("2021-01-21T17:03:55.789Z")},{"productId":2,"deploymentStatus":"Failed","startedAt":ISODate("2021-01-21T18:00:19.782Z"),"completedAt":ISODate("2021-01-21T18:03:55.789Z")},{"productId":3,"deploymentStatus":"Succeeded","startedAt":ISODate("2021-01-21T19:00:19.782Z"),"completedAt":ISODate("2021-01-21T19:03:55.789Z")},{"productId":1,"deploymentStatus":"Cancelled","startedAt":ISODate("2021-01-21T20:00:19.782Z"),"completedAt":ISODate("2021-01-21T20:03:55.789Z")},{"productId":2,"deploymentStatus":"Failed","startedAt":ISODate("2021-01-21T21:00:19.782Z"),"completedAt":ISODate("2021-01-21T21:03:55.789Z")},{"productId":3,"deploymentStatus":"Succeeded","startedAt":ISODate("2021-01-21T22:00:19.782Z"),"completedAt":ISODate("2021-01-21T22:03:55.789Z")}]

Query

db.collection.aggregate([{$match:{$and:[{"startedAt":{$gte:new Date("2021-01-01")}},{"startedAt":{$lte:new Date("2021-11-17")}}]}},{$group:{_id:"$productId",count:{$sum:1},minExecutionTime:{$min:{$divide:[{$subtract:["$completedAt","$startedAt"]},60000]}},maxExecutionTime:{$max:{$divide:[{$subtract:["$completedAt","$startedAt"]},60000]}},avgExecutionTime:{$avg:{$divide:[{$subtract:["$completedAt","$startedAt"]},60000]}}}}])

Result