मैंने अभी नए एकत्रीकरण ढांचे की कोशिश की है जो मोंगोडीबी संस्करण 2.2 (2.2.0-आरसी0 जारी किया गया है) में उपलब्ध होगा, जिसमें नक्शा कम करने की तुलना में उच्च प्रदर्शन होना चाहिए क्योंकि यह जावास्क्रिप्ट पर निर्भर नहीं है।
इनपुट डेटा:
{ "_id" : 1, "age" : 22.34, "gender" : "f" }
{ "_id" : 2, "age" : 23.9, "gender" : "f" }
{ "_id" : 3, "age" : 27.4, "gender" : "f" }
{ "_id" : 4, "age" : 26.9, "gender" : "m" }
{ "_id" : 5, "age" : 26, "gender" : "m" }
लिंग के लिए एकत्रीकरण आदेश:
db.collection.aggregate(
{$project: {gender:1}},
{$group: {
_id: "$gender",
count: {$sum: 1}
}})
परिणाम:
{"result" :
[
{"_id" : "m", "count" : 2},
{"_id" : "f", "count" : 3}
],
"ok" : 1
}
उम्र को डिब्बे में डालने के लिए:
db.collection.aggregate(
{$project: {
ageLowerBound: {$subtract:["$age", {$mod:["$age",2]}]}}
},
{$group: {
_id:"$ageLowerBound",
count:{$sum:1}
}
})
परिणाम:
{"result" :
[
{"_id" : 26, "count" : 3},
{"_id" : 22, "count" : 2}
],
"ok" : 1
}