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

रोबोमोंगो :$group . के लिए स्मृति सीमा पार हो गई

{ allowDiskUse: true } 

एकत्रीकरण पाइपलाइन के ठीक बाद रखा जाना चाहिए।

आपके कोड में इसे इस तरह जाना चाहिए:

db.getCollection('RAW_COLLECTION').aggregate([
  // Group on unique value storing _id values to array and count 
  { "$group": {
    "_id": { RegisterNumber: "$RegisterNumber", Region: "$Region" },
    "ids": { "$push": "$_id" },
    "count": { "$sum": 1 }      
  }},
  // Only return things that matched more than once. i.e a duplicate
  { "$match": { "count": { "$gt": 1 } } }
], { allowDiskUse: true } )

नोट:{ allowDiskUse: true } . का उपयोग करना प्रदर्शन से संबंधित मुद्दों को पेश कर सकता है क्योंकि एकत्रीकरण पाइपलाइन डिस्क पर अस्थायी फ़ाइलों से डेटा तक पहुंच जाएगी। डिस्क प्रदर्शन और आपके काम करने वाले सेट के आकार पर भी निर्भर करता है। अपने उपयोग के मामले के लिए प्रदर्शन का परीक्षण करें



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मॉर्फिया ढांचे के साथ mongoDB परियोजना में अनुक्रमणिका कैसे जोड़ें

  2. ES6 टेम्पलेट स्ट्रिंग के साथ MongoDB ऑब्जेक्ट कुंजी

  3. MongoDB C# ड्राइवर 2.0 - दस्तावेज़ अपडेट करें

  4. MongoDB 2.6 प्रतिकृति सेट पर HTTP कंसोल को कैसे सक्षम करें

  5. बहु-आयामी सरणी में JSON सरणी रूपांतरण