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

MongoDB संग्रह में फ़ील्ड गिनें

<ब्लॉकक्वॉट>

संपूर्ण संग्रह पर पुनरावृति करें, और वहां मौजूद फ़ील्ड की संपूर्ण संख्या ज्ञात करें

अब आप कुंजी को मानों में बदलने और उन्हें गिनने के लिए एग्रीगेशन ऑपरेटर $objectToArray (SERVER-23310) का उपयोग कर सकते हैं। यह ऑपरेटर MongoDB v3.4.4+

. में उपलब्ध है

उदाहरण के लिए:

db.collection.aggregate([
         {"$project":{"numFields":{"$size":{"$objectToArray":"$$ROOT"}}}}, 
         {"$group":{"_id":null, "fields":{"$sum":"$numFields"}, "docs":{"$sum":1}}}, 
         {"$project":{"total":{"$subtract":["$fields", "$docs"]}, _id:0}}
])

पहला चरण $project फ़ील्ड गिनने के लिए सभी कुंजियों को सरणी में बदलना है। दूसरा चरण $group संग्रह में कुंजियों/फ़ील्ड की संख्या, संसाधित किए गए दस्तावेज़ों की संख्या का योग है। तीसरा चरण $project दस्तावेज़ों की कुल संख्या के साथ फ़ील्ड की कुल संख्या घटा रहा है (जैसा कि आप _id के लिए गिनना नहीं चाहते हैं )

अंतिम चरण में औसत की गणना करने के लिए आप आसानी से $avg जोड़ सकते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $ दौर बनाम $ ट्रंक:क्या अंतर है?

  2. मैं किसी सरणी फ़ील्ड के सदस्यों को कैसे मान्य करूं?

  3. MongoDB के लिए मशीन पूल और क्लाउड प्रोफाइल

  4. MongoDB से विश्वसनीय रूप से पुनः कनेक्ट करें

  5. MongoDB में दस्तावेज़ गिनने के 7 तरीके