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

कुल मिलाकर करते समय MongoDB गलत अनुक्रमणिका का चयन करता प्रतीत होता है

आप इससे संबंधित दस्तावेज़ पढ़ना चाहेंगे $sort प्रदर्शन :

साथ ही, ध्यान रखें कि इसे 'एग्रीगेशन पाइपलाइन . कहा जाता है ' किसी कारण से। इससे कोई फर्क नहीं पड़ता कि आप मिलान के बाद कहां क्रमबद्ध करते हैं। तो समाधान बहुत आसान होना चाहिए:

db.access_log.aggregate([
  {
       "$match": { 
          "visit_dt": {
             "$gte": ISODate('2015-03-09'),
             "$lt": ISODate('2015-03-11')
           },
           "file": {"$exists": true }
        } 
  },
  { "$sort": { "file": 1 } },
  { "$project": { "file": 1,  "_id": 0 } },
  { "$group": { "_id": "$file", "count": { "$sum": 1 } } },
  { "$sort": { "count": -1 } }
])

जब यह गारंटी दी जाती है कि फ़ील्ड हर रिकॉर्ड में मौजूद है, तो फ़ाइल फ़ील्ड मौजूद है, उसे गीला करना अनावश्यक हो सकता है। यह चोट नहीं करता है, क्योंकि मैदान पर एक सूचकांक है। अतिरिक्त सॉर्ट के साथ भी यही होता है:चूंकि हमने सुनिश्चित किया है कि केवल फ़ाइल फ़ील्ड वाले दस्तावेज़ ही पाइपलाइन में प्रवेश करें, इसलिए इंडेक्स का उपयोग किया जाना चाहिए।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. SQL में किसी संख्या को मुद्रा के रूप में प्रारूपित करें

  2. ट्रैविस सीआई पर नोड.जेएस (एक्सप्रेस) का उपयोग करके निर्मित आरईएसटी एपीआई का परीक्षण

  3. mongodb पर .bson फ़ाइल स्वरूप आयात कैसे करें

  4. MongoDB:कुल फ़ंक्शन में मैप नेस्टेड सरणी

  5. MongoDB:स्कीमा को कैसे परिभाषित करें?