MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगोडब में प्रत्येक समूह के नवीनतम एन रिकॉर्ड कैसे प्राप्त करें?

mongoDB 3.2 . में आप निम्न फ़ॉर्म की समग्र क्वेरी का उपयोग करके इसे निष्पादित कर सकते हैं:

db.collection.aggregate(
  {$sort: {created: -1}},
  {$group: {_id:'$city', title:{$push: '$title'}},
  {$project: {_id:0, city: '$_id', mostRecentTitle: {$slice: ['$title', 0, 2]}}}
)

मोंगोडीबी 3.0 का उपयोग करके इसे हासिल करना बहुत मुश्किल है। 3.0 में इसे हासिल करने के लिए एक बहुत ही गंदी चाल है। इसमें कुछ चरण और अन्य संग्रह शामिल हैं।

पहले एक समग्र करें और परिणाम को 'aggr_out' नामक अस्थायी संग्रह में आउटपुट करें

प्रश्न:

db.collection.aggregate([
  {$sort: {created: -1}},
  {$group: {_id:'$city', title:{$push: '$title'}},
  {$project: {city: '$_id', mostRecentTitle: '$title'}},
  {$out: 'aggr_out'}]
)

उपरोक्त क्वेरी का उपयोग करते हुए, अधिकांश रीसेंटटाइटल में इंडेक्स 0, 1, 2, ... से ऑर्डर किए गए सभी हालिया शीर्षक होंगे ... यदि आप इसका उपयोग करके इस परिणाम से खुश हैं क्योंकि आपके पास पहले से ही अधिकांश रीसेंटटाइटल के इंडेक्स 0,1 और 2 में परिणाम है। अन्य शीर्षकों को आवेदन पक्ष में सरलता से अनदेखा किया जा सकता है।

फिर भी यदि आप खुश नहीं हैं, तो आउटपुट संग्रह 'aggr_out' पर एक अपडेट करें, और इस संग्रह से डेटा पढ़ें। प्रश्न है,

db.aggr_out.update(
  {},
  {$push: {
    mostRecentTitle: {$each:[], $slice:3}
    }
  }
)

उपरोक्त ऑपरेशन सबसे हालिया शीर्षक सरणी को टुकड़ा करेगा ताकि उसके पास हाल के तीन शीर्षक हों। अपना वांछित परिणाम प्राप्त करने के लिए इस संग्रह को पढ़ें।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी के साथ लोचदार खोज:पीडीएफ खोजना

  2. MongoError:गलत तर्क

  3. एमजीओ एकत्रीकरण:क्वेरी और अनमर्शल मिश्रित परिणामों के लिए मॉडल प्रकारों का पुन:उपयोग कैसे करें?

  4. मोंगोइड में अद्वितीय एम्बेडेड दस्तावेज़ कैसे लागू करें

  5. MongoDB.Driver.Builders कैसे समूहित करें और औसत प्राप्त करें