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

MongoDB Aggregate एकाधिक परिणाम ग्रुप करें?


एकाधिक परिणाम एग्रीगेट करने के लिए MongoDB में $group का उपयोग करें। आइए एक कलेक्शन बनाते हैं:

> db.demo765.insertOne( { Name:"John", "Category":"ComputerScience", "SubjectName":"MongoDB", "Marks":75 } ); { "acknowledged" : true, "insertedId" : ObjectId("5eb054525637cd592b2a4b01") }
> db.demo765.insertOne( { Name:"John", "Category":"ComputerScience", "SubjectName":"MySQL", "Marks":85 } ); { "acknowledged" : true, "insertedId" : ObjectId("5eb054525637cd592b2a4b02") }
> db.demo765.insertOne( { Name:"Chris", "Category":"10th", "SubjectName":"Math", "Marks":98 } ); { "acknowledged" : true, "insertedId" : ObjectId("5eb054535637cd592b2a4b03") }

find() से सभी डॉक्यूमेंट्स देखें:

> db.demo765.find();

आउटपुट:

एकाधिक परिणाम ग्रुप करने के लिए aggregation क्वेरी ($facet का उपयोग करके):

> db.demo765.aggregate([ ... { "$facet": { "ListOfName": [ { "$group": { "_id": "$Name", "Marks": { "$sum": "$Marks" } } }, { "$project": { "_id": false, "Name": "$_id", "Marks": 1 } } ], "ListOfCategory": [ { "$group": { "_id": "$Category", "Marks": { "$sum": "$Marks" } } }, { "$project": { "_id": false, "Category": "$_id", "Marks": 1 } } ] } } ... ]).pretty()

परिणाम:


  1. - MongoDB में _id द्वारा समूह कैसे बनाएं

    MongoDB में _id द्वारा समूह बनाने के लिए, $group का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo529.insertOne({Score:10}); { acknowledged : true, insertedId : ObjectId(5e8b1d5bef4dcbee04fbbbe4) } > db.demo529.insertOne({Score:20}); { acknowledged : true, insertedId : ObjectId(

  1. - MongoDB संग्रह में तिथियों के अनुसार समूह कैसे बनाएं?

    तिथियों के अनुसार समूह बनाने के लिए, MongoDB एग्रीगेट में $group का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo657.insertOne({ id: 1, Name: Chris, DueDate: new ISODate(2020-04-22) }); { acknowledged : true, insertedId : ObjectId(5ea064b44deddd72997713d6) } > db.de

  1. - MongoDB Aggregate में $redact का उपयोग करना

    $redact documents के contents को documents themselves में stored information के आधार पर restrict करता है। Aggregate में $cond के साथ $redact का उपयोग कर सकते हैं। Collection बनाना > db.demo546.insertOne({Value1:10,Value2:20}); { acknowledged : true, insertedId : ObjectId(5e8e263f9e5f92834d7f05d7