आपके पास लगभग था...
db.test.aggregate(
{$group: {_id: '$postcode', students: {$sum: 1}}},
{$sort: {_id: -1}}
);
देता है (मैंने आपके नमूने से मेल खाने वाले कुछ परीक्षण डेटा जोड़े हैं):
{
"result" : [
{
"_id" : 2003,
"students" : 3
},
{
"_id" : 2002,
"students" : 1
},
{
"_id" : 2001,
"students" : 2
}
],
"ok" : 1
}
आपके पास एक बाहरी {}
था चारों ओर, जो कुछ भ्रम पैदा कर रहा था। समूह और सॉर्ट पाइपलाइन में अलग-अलग संचालन के रूप में काम नहीं कर रहे थे।
आपको वास्तव में इस मामले के लिए प्रोजेक्ट की आवश्यकता नहीं थी।
अपडेट करें आप शायद "छात्रों" के आधार पर छाँटना चाहते हैं, जैसे कि सबसे बड़े ज़िपकोड (जनसंख्या के अनुसार) पहले प्राप्त करना:
db.test.aggregate(
{$group: {_id: '$postcode', students: {$sum: 1}}},
{$sort: {students: -1}}
);