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

MongoDB एग्रीगेशन: विशिष्ट छात्र के स्कोर का योग कैसे निकालें


योग निकालने के लिए aggregate() के साथ $sum ऑपरेटर का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं:

> db.demo434.insertOne({"Name":"Chris","Score":45}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e771603bbc41e36cc3cae93") } > db.demo434.insertOne({"Name":"David","Score":55}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e77161abbc41e36cc3cae94") } > db.demo434.insertOne({"Name":"Chris","Score":55}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e771624bbc41e36cc3cae95") }

सभी दस्तावेज़ प्रदर्शित करें

find() मेथड की मदद से संग्रह से सभी दस्तावेज़ प्रदर्शित करें:

> db.demo434.find();

इससे निम्न आउटपुट प्राप्त होगा:

{ "_id" : ObjectId("5e771603bbc41e36cc3cae93"), "Name" : "Chris", "Score" : 45 } { "_id" : ObjectId("5e77161abbc41e36cc3cae94"), "Name" : "David", "Score" : 55 } { "_id" : ObjectId("5e771624bbc41e36cc3cae95"), "Name" : "Chris", "Score" : 55 }

विशिष्ट छात्र के स्कोर का योग निकालने की क्वेरी

> db.demo434.aggregate([ ...    { "$match": { "Name": "Chris"} }, ...    { "$group": { "_id": null, "TotalScore": { "$sum": "$Score" } } } ... ]);

आउटपुट

{ "_id" : null, "TotalScore" : 100 }

  1. - MongoDB Aggregation Framework - Specific Field Value Match करना

    Specific field value match करने के लिए MongoDB aggregation में $match का उपयोग करें। Collection बनाना > db.demo555.insertOne({CountryName:US}); { acknowledged : true, insertedId : ObjectId(5e8f21bf54b4472ed3e8e85f) } > db.demo555.insertOne({CountryName:UK}); { acknowledged : true, insertedId

  1. - MongoDB Aggregation - Specific Field Value वाले Documents Fetch करना

    इसके लिए aggregate() का उपयोग करें। मान लें हमें field Age value 21 वाले documents fetch करने हैं। Collection बनाना > db.demo685.insertOne( ... { ... details: ... [ ... { Name:Chris, Age:21 }, ... { Name:David, Age:23 }, ... { Name:Bob, Age:21 } ... ] ... } ...

  1. - MongoDB एग्रीगेशन और प्रोजेक्शन

    इसके लिए aggregate() के साथ $project का उपयोग करें। एग्रीगेशन में $project पाइपलाइन में अगले चरण के लिए अनुरोधित फील्ड्स के साथ डॉक्यूमेंट्स को पास करता है। आइए एक कलेक्शन बनाते हैं: > db.demo762.insertOne({ _id : { userId:101, userName:Chris }, countryName : US, details : [ { Name : Robert, Due