Database
[{"date":"2021-12-23 10:25:59","source":"501","callDirection":"Outgoing","status":"ANSWERED","billsec":"102","startTime":"2021-12-23 10:25:00","answerTime":"2021-12-23 10:25:10",},{"date":"2021-12-23 11:21:19","source":"501","callDirection":"Outgoing","status":"ANSWERED","billsec":"54","startTime":"2021-12-23 10:25:00","answerTime":"2021-12-23 10:25:10",},{"date":"2021-12-23 11:25:19","source":"555","callDirection":"Outgoing","status":"ANSWERED","billsec":"30","startTime":"2021-12-23 10:25:02","answerTime":"2021-12-23 10:25:10",},{"date":"2021-12-23 11:25:19","destination":"555","callDirection":"Incoming","status":"NO ANSWER","billsec":"0","startTime":"2021-12-23 10:25:00","answerTime":"2021-12-23 10:25:10",},{"date":"2021-12-23 11:25:19","destination":"555","callDirection":"Incoming","status":"ANSWERED","billsec":"80","startTime":"2021-12-23 10:25:00","answerTime":"2021-12-23 10:25:10",},]
Query
db.collection.aggregate([{"$facet":{"outgoing":[{"$addFields":{"billsec":{"$toInt":"$billsec"},}},{"$match":{"$or":[{"source":"501"},{"source":"555"}],"callDirection":"Outgoing","date":{"$gte":"2021-12-22 00:00:00"}}},{"$group":{"_id":"$source","answer":{"$sum":{"$cond":[{"$eq":["ANSWERED","$status"]},1,0]}},"noanswer":{"$sum":{"$cond":[{"$eq":["ANSWERED","$status"]},0,1]}},"avgCallOut":{"$sum":{"$subtract":[{"$dateFromString":{"dateString":"$answerTime",onError:"aaa"}},{"$dateFromString":{"dateString":"$startTime"}}]}},"total":{"$sum":1},"billsec":{"$sum":"$billsec"}}},{"$project":{"source":"$source","callDirection":"Out","answer":1,"noanswer":1,"billsec":1,"total":1,"avgCallOut":1}}],"incoming":[{"$addFields":{"billsec":{"$toInt":"$billsec"}}},{"$match":{"$or":[{"destination":"501"},{"destination":"555"}],"callDirection":"Incoming","date":{"$gte":"2021-12-22 00:00:00"}}},{"$group":{"_id":"$destination","answer":{"$sum":{"$cond":[{"$eq":["ANSWERED","$status"]},1,0]}},"noanswer":{"$sum":{"$cond":[{"$eq":["ANSWERED","$status"]},0,1]}},"avgCallIn":{"$sum":{"$subtract":[{"$dateFromString":{"dateString":"$answerTime"}},{"$dateFromString":{"dateString":"$startTime"}}]}},"total":{"$sum":1},"billsec":{"$sum":"$billsec"}}},{"$project":{"destination":"$destination","callDirection":"in","answer":1,"noanswer":1,"billsec":1,"total":1,"avgCallIn":1}}]}}])