Database

db={Order:[{"date":ISODate("2020-07-30T22:00:00.000Z"),"item":"banana","price":"4$","order_type":"INTERNATIONAL","user":{"$ref":"user","$id":"user_0"}},{"date":ISODate("2020-07-30T22:00:00.000Z"),"item":"banana","price":"4$","order_type":"INTERNATIONAL","user":{"$ref":"user","$id":"user_0"}},{"date":ISODate("2020-07-30T22:00:00.000Z"),"item":"banana","price":"4$","order_type":"INTERNATIONAL","user":{"$ref":"user","$id":"user_0"}},{"date":ISODate("2020-07-30T22:00:00.000Z"),"item":"banana","price":"4$","order_type":"MAINLAND","user":{"$ref":"user","$id":"user_0"}}],User:[{"_id":"user_0","login":"user1","password":"$2a$10$mE.qmcV0mFU5NcKh73TZx.z4ueI/.bDWbj0T1BYyqP481kGGarKLG","first_name":"Henry","last_name":"Windsor","email":"hw@gmail.com"}]}

Query

db.Order.aggregate([{$group:{_id:"$user",totalNbOfOrders:{$sum:1},totalNbOfInternationalOrders:{$sum:{$cond:{if:{$eq:["$order_type","INTERNATIONAL"]},then:1,else:0}}},totalNbOfMainlandOrders:{$sum:{$cond:{if:{$eq:["$order_type","MAINLAND"]},then:1,else:0}}}}},{$addFields:{foreign_key:{$objectToArray:"$_id"}}},{$lookup:{from:"User",localField:"foreign_key.1.v",foreignField:"_id",as:"userInfo"}},{$unwind:"$userInfo"},{$project:{"_id":0,"first_name":"$userInfo.first_name","last_name":"$userInfo.last_name","totalNbOfOrders":"$totalNbOfOrders","totalNbOfInternationalOrders":"$totalNbOfInternationalOrders","totalNbOfMainlandOrders":"$totalNbOfMainlandOrders"}}])

Result