कुछ इस तरह काम करेगा:
db.collection.aggregate([
{$project: {
male: {$cond: [{$eq: ["$gender", "male"]}, 1, 0]},
female: {$cond: [{$eq: ["$gender", "female"]}, 1, 0]},
}},
{$group: { _id: null, male: {$sum: "$male"},
female: {$sum: "$female"},
total: {$sum: 1},
}},
])
अपना उदाहरण दिया उत्पादन:
{ "_id" : null, "male" : 2, "female" : 3, "total" : 5 }
मुख्य विचार सशर्त अभिव्यक्ति का उपयोग करना है लिंग को 0 या 1 पर मैप करने के लिए। उसके बाद, आपको प्रत्येक फ़ील्ड पर एक साधारण योग की आवश्यकता है।