Database

[{"Name":"xyz","Area":"London","Sex":"Male",},{"Name":"abc","Area":"Chile","Sex":"Female"},{"Name":"abc","Area":"Chile","Sex":"Male"},{"Name":"abc","Area":"Chile","Sex":"Female"},{"Name":"xyz","Area":"London","Sex":"Male",},{"Name":"ttt","Area":"London","Sex":"Female",}]

Query

db.collection.aggregate([{$group:{_id:"$Area",total:{$sum:1},Male:{$sum:{$cond:[{$eq:["$Sex","Male"]},1,0]}},Female:{$sum:{$cond:[{$eq:["$Sex","Female"]},1,0]}}}},{$group:{_id:null,area:{$push:{k:"$_id",v:{Male:{$multiply:[{$divide:["$Male","$total"]},100]},Female:{$multiply:[{$divide:["$Female","$total"]},100]}}}}}},{$replaceRoot:{newRoot:{$arrayToObject:"$area"}}}])

Result