Database
[{"Name":"xyz","Area":"London","Sex":"Male"},{"Name":"aaa","Area":"London","Sex":"Female"},{"Name":"bbb","Area":"London","Sex":"Female"},{"Name":"ccc","Area":"London","Sex":"Female"},{"Name":"abc","Area":"Chile","Sex":"Female"},{"Name":"xxx","Area":"Chile","Sex":"Male"}]
Query
db.collection.aggregate([{$group:{_id:{area:"$Area",Sex:"$Sex"},total:{$sum:1}}},{$group:{_id:"$_id.area",area:{$push:"$$ROOT"},total:{$sum:"$total"}}},{$addFields:{area:{$map:{input:"$area",in:{_id:"$$this._id",percentage:{$multiply:[{$divide:["$$this.total","$total"]},100]}}}}}},{$unwind:"$area"},{$replaceRoot:{newRoot:"$area"}}])