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

mongoDB में सभी विषयों के अंकों को कैसे एकत्रित करें

आप नीचे एकत्रीकरण का उपयोग कर सकते हैं:

db.col.aggregate([
    {
        $unwind: "$marks"
    },
    {
        $project: {
            _id: 1,
            name: 1,
            marks: {
                $objectToArray: "$marks"
            }
        }
    },
    {
        $project: {
            _id :1,
            name: 1,
            total_marks: {
                $reduce: {
                    input: "$marks",
                    initialValue: 0,
                    in: { $add : ["$$value", "$$this.v"] }
                }
            }
        }
    },
    {
        $group: {
            _id: "$_id",
            name: { $first: "$name" },
            total_marks: { $sum: "$total_marks" }
        }
    }
])

चूंकि आपके निशान एक वस्तु के रूप में संग्रहीत हैं, इसलिए आपको $objectToArray विषयों की एक सरणी प्राप्त करने के लिए। फिर आप $reduce का इस्तेमाल कर सकते हैं एक छात्र के लिए सभी विषयों का योग।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. कभी-कभी ब्राउज़र में डेटा प्रदर्शित नहीं किया जा रहा है

  2. JSON डेटा निर्यात करें और एक रिलेशनल डेटाबेस में लोड करें

  3. कमांड कर्सर' ऑब्जेक्ट सबस्क्रिप्ट करने योग्य नहीं है

  4. एक लंबी क्वेरी स्ट्रिंग को सीधे MongoDB पर पार्स करना (जैसे आप SQL में कर सकते हैं)

  5. MongoDB में दस्तावेज़ लॉक करना