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

MongoDB $sum और $avg of उप दस्तावेज़

योग . प्राप्त करने के लिए और औसत Channels.Value . का आपके संग्रह में प्रत्येक दस्तावेज़ के लिए आपको मोंगोडब के एकत्रीकरण प्रसंस्करण का उपयोग करने की आवश्यकता होगी। इसके अलावा, चूंकि Channels एक सरणी है जिसे आपको सरणी को फिर से बनाने के लिए $अनविंड ऑपरेटर का उपयोग करने की आवश्यकता होगी।

यह मानते हुए कि आपके संग्रह को example . कहा जाता है , यहां बताया गया है कि आप Channels.Value के दस्तावेज़ योग और औसत दोनों कैसे प्राप्त कर सकते हैं रों:

db.example.aggregate( [ 
    { 
        "$unwind" : "$Channels"
    }, 
    {
        "$group" : {
            "_id" : "$_id",
            "documentSum" : { "$sum" : "$Channels.Value" },
            "documentAvg" : { "$avg" : "$Channels.Value" }
         }
    }
] )

आपकी पोस्ट के डेटा का आउटपुट होगा:

{ 
    "_id" : SomeObjectIdValue,
    "documentSum" : 76,
    "documentAvg" : 25.333333333333332
}

यदि आपके संग्रह में एक से अधिक दस्तावेज़ हैं तो आपको प्रत्येक दस्तावेज़ के लिए एक परिणाम पंक्ति दिखाई देगी जिसमें Channels होगा सरणी।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose के साथ डेटाबेस कैसे छोड़ें?

  2. मोंगोडीबी काम नहीं कर रहा है। त्रुटि:dbpath (/data/db) मौजूद नहीं है।

  3. कुल का उपयोग कर चल रहे कुल की गणना कैसे करें?

  4. MongoDB diacriticInSensitive खोज अपेक्षित और इसके विपरीत सभी उच्चारण (विशेषक चिह्न वाले शब्द) पंक्तियों को नहीं दिखा रहा है

  5. MongoDB एक संग्रह से सरणी तत्व खींचता है