Database
[{"_id":"bbbbbb1d9486c90479aaaaaa","record":{"debug":false,"type":"MX_GTI","products":["DAM"],"agents":[{"services":"mssql","hpsAvg":772,"hpsMax":42901},{"services":"mssql","hpsAvg":95,"hpsMax":21631},{"services":"oracle","hpsAvg":0,"hpsMax":0},{"services":"db2","hpsAvg":0,"hpsMax":0}]}},{"_id":"bbbbbb1d9486c90479bbbbb","record":{"debug":false,"type":"MX_GTI","products":["DAM"],"agents":[{"services":"mssql","hpsAvg":772,"hpsMax":42901},{"services":"oracle","hpsAvg":80,"hpsMax":11631},{"services":"oracle","hpsAvg":100,"hpsMax":0},{"services":"oracle","hpsAvg":0,"hpsMax":50},{"services":"db2","hpsAvg":0,"hpsMax":50}]}},{"_id":"bbbbbb1d9486c90479cccc","record":{"debug":false,"type":"ANOTHER","products":["DAM"],"agents":[{"services":"oracle","hpsAvg":100,"hpsMax":100000},]}}]
Query
db.collection.aggregate([{$match:{"record.type":"MX_GTI"}},{$unwind:"$record.agents"},{$addFields:{"record.agents.hpsAvg":{$cond:{if:{$eq:["$record.agents.hpsAvg",0]},then:null,else:"$record.agents.hpsAvg"}}}},{$group:{_id:"$record.agents.services",maxHPS:{$max:"$record.agents.hpsMax"},avgHPS:{$avg:"$record.agents.hpsAvg"}}},{$addFields:{dbType:"$_id"}},{$project:{_id:0}}])