काम नहीं कर रहा है मैं पहले तारीख तक डेटा को सॉर्ट करने का प्रयास कर रहा हूं और फिर किसी अन्य फ़ील्ड पर समूह कर रहा हूं। यह मेरे लिए काम नहीं कर रहा है।मोंगो एग्रीगेशन फ्रेमवर्क, सॉर्ट करें और फिर समूह
मैं जिस प्रश्न का उत्तर देने का प्रयास कर रहा हूं वह है: सबसे हालिया विशिष्ट सिड का चयन करें?
दिया इस डेटा:
db.summary.save({"lid" : 5, "date" : 5, "cid" : 2, "circles" : [ 2 ] })
db.summary.save({"lid" : 2, "date" : 2, "cid" : 1, "circles" : [ 2 ] })
db.summary.save({"lid" : 4, "date" : 0, "cid" : 3, "circles" : [ 2 ] })
db.summary.save({"lid" : 3, "date" : 3, "cid" : 2, "circles" : [ 2 ] })
db.summary.save({"lid" : 1, "date" : 1, "cid" : 1, "circles" : [ 2 ] })
db.summary.aggregate({$match :{circles: 2}, $sort: {date: -1}, $group: {_id: '$cid'}})
मैं हलकों पर पहले एक मैच कर रहा हूँ, तो तारीख को एक तरह से, तो सीआईडी
परिणाम मैं हो रही है पर एक समूह:
{
"result" : [
{
"_id" : 3
},
{
"_id" : 1
},
{
"_id" : 2
}
],
"ok" : 1
}
यहां मेरा विश्लेषण है:
मिलान या दिनांक द्वारा छँटाई से पहले, डेटा था:
"lid" : 5, "date" : 5, "cid" : 2
"lid" : 2, "date" : 2, "cid" : 1
"lid" : 4, "date" : 0, "cid" : 3
"lid" : 3, "date" : 3, "cid" : 2
"lid" : 1, "date" : 1, "cid" : 1
तिथि के अनुसार छँटाई करने के बाद, डेटा सेट होगा:
"lid" : 5, "date" : 5, "cid" : 2
"lid" : 3, "date" : 3, "cid" : 2
"lid" : 2, "date" : 2, "cid" : 1
"lid" : 1, "date" : 1, "cid" : 1
"lid" : 4, "date" : 0, "cid" : 3
तो समूह के बाद, परिणाम मैं उम्मीद है:
{
"result" : [
{
"_id" : 2
},
{
"_id" : 1
},
{
"_id" : 3
}
],
"ok" : 1
}
मेरी समस्या का समाधान किस प्रश्न से हल करता है?
वर्तमान क्वेरी क्यों मेरे लिए काम नहीं कर रही है?
आपके पाइपलाइन पैरामीटर को 'कुल' करने के लिए या तो एक सरणी में रखा जाना चाहिए या एक बड़ी वस्तु के बजाय स्वतंत्र वस्तुओं के रूप में पारित किया जाना चाहिए। और आपका प्रश्न 'cid' पर समूहबद्ध करने के बारे में बात करता है लेकिन आदेश '$ date' पर समूहित हो रहा है। – JohnnyHK
वह एक टाइपो था। यह $ समूह होना चाहिए: {_id: '$ cid'} – ben39