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

MongoDB में एक सूची की लंबाई प्राप्त करना

अब, मैं दो तरीकों से सोच सकता था:

1) एकत्रीकरण ढांचे का उपयोग करना:

db.log.aggregate([ { $unwind : "$entries" }, { $group : { _id : "$_id", entries : {$sum:1}  } }  ]);

2) या आप उस दस्तावेज़ में एक फ़ील्ड जोड़ सकते हैं जिसमें प्रविष्टियों की संख्या होती है। इसलिए, हर बार जब आप एंट्री ऐरे में एक नया मान पुश करते हैं, तो आपको काउंटर को बढ़ाना होगा। अपडेट इस तरह होगा:

db.log.update({ _id : 123 }, { $push : { entries : 'value' }, $inc : { entriesCount : 1 } })

स्पष्ट रूप से, आपके यहां एक ट्रेड-ऑफ है:इस सरल ऑपरेशन के लिए एकत्रीकरण ढांचा बहुत महंगा है। लेकिन दस्तावेज़ में एक फ़ील्ड जोड़ने पर, प्रत्येक अद्यतन काउंटर को बढ़ाना चाहिए।

IMHO, काउंटर अधिक उचित लगता है, हालांकि यह एक वैकल्पिक हल लगता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. C# ड्राइवर के साथ VB.NET में MongoDB दस्तावेज़ अपडेट करें

  2. मोंगोडब, समूह द्वारा दिनांकित और घंटा प्राप्त करना

  3. Manjaro . पर MongoDB स्थापित करें

  4. इसमें @ के साथ MongoDB पासवर्ड

  5. मैं नेवला का उपयोग करके निम्न उत्पाद के लिए स्कीमा कैसे डिज़ाइन कर सकता हूँ?