Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB एग्रीगेशन फ्रेमवर्क में दो फ़ील्ड का योग (Sum) कैसे करें?


$project में $add ऑपरेटर का उपयोग करना

एग्रीगेशन पाइपलाइन के $project चरण में $add ऑपरेटर का उपयोग करके दो संख्यात्मक फ़ील्ड का योग निकालें और नया फ़ील्ड बनाएं।

उदाहरण: नमूना डेटा

> db.sumTwoFieldsDemo.insertOne({"FirstValue":150,"SecondValue":350}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9b4bfe15e86fd1496b38cd") }
> db.sumTwoFieldsDemo.insertOne({"FirstValue":450,"SecondValue":1550}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9b4c1215e86fd1496b38ce") }
> db.sumTwoFieldsDemo.insertOne({"FirstValue":2560,"SecondValue":2440}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9b4c2715e86fd1496b38cf") }

एग्रीगेशन क्वेरी

> db.sumTwoFieldsDemo.aggregate( 
    { 
        "$project": { 
            'First': '$FirstValue', 
            'Second': '$SecondValue', 
            'TotalValueOfBothFields': { '$add': [ '$FirstValue', '$SecondValue' ] } 
        } 
    } 
);

आउटपुट:


व्याख्या:

  • $project आउटपुट दस्तावेज़ का आकार तय करता है।
  • 'First': '$FirstValue' मौजूदा फ़ील्ड को नए नाम से शामिल करता है।
  • $add: [ '$FirstValue', '$SecondValue' ] दोनों फ़ील्ड मान जोड़ता है।
  • आप $add में दो से अधिक फ़ील्ड/मान जोड़ सकते हैं।

अन्य अंकगणितीय ऑपरेटर: $subtract, $multiply, $divide, $mod।

  1. - MongoDB में $group ऑपरेशन में सॉर्ट करके केवल पहले दो फील्ड प्राप्त करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo576.insertOne({id:101,Name:Chris,Marks:45}) { acknowledged : true, insertedId : ObjectId(5e916c3b581e9acd78b427fa) } > db.demo576.insertOne({id:101,Name:John,Marks:55}) { acknowledged : true, insertedId : ObjectId(5e916c43581e9acd78b427fb)

  1. - MongoDB एग्रीगेशन में मल्टीपल फ़ील्ड्स द्वारा काउंट करना

    एक ही पाइपलाइन में कई फ़ील्ड्स पर काउंट करने के लिए $facet का उपयोग करें। डेमो डेटा db.demo721.insertOne({ details1: { id:101 }, details2: { id:101 }, details3: { id:101 } }); db.demo721.insertOne({ details1: { id:101 }, details2: { id:102 }, details3: { id:102 } }); क्वेरी

  1. - C++ का उपयोग करके दो सरणियों का ओवरलैपिंग योग खोजना

    समस्या विवरण इस समस्या में, हमें दो सरणियाँ arr1[] और arr2[] दी गई हैं जिनमें अद्वितीय मान होते हैं। हमारा कार्य दो सरणियों का ओवरलैपिंग योग खोजना है। सरणियों के सभी तत्व विशिष्ट हैं। और हमें उन तत्वों का योग वापस करना होगा जो दोनों सरणियों के लिए सामान्य हैं। उदाहरण इनपुट arr1[] = {5, 4, 9, 2} ar