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

MongoDB में कुल संख्या प्राप्त करने के लिए एग्रीगेट सम कैसे करें?


MongoDB में कुल संख्या प्राप्त करने के लिए एग्रीगेट सम करने के लिए, आप $sum ऑपरेटर का उपयोग कर सकते हैं। उपरोक्त कॉन्सेप्ट समझने के लिए, एक दस्तावेज़ के साथ एक संग्रह बनाते हैं:

> db.aggregateSumDemo.insertOne({"CustomerName":"Larry","Amount":140}); { "acknowledged" : true, "insertedId" : ObjectId("5c8baa0680f10143d8431e18") } > db.aggregateSumDemo.insertOne({"CustomerName":"Mike","Amount":160}); { "acknowledged" : true, "insertedId" : ObjectId("5c8baa1380f10143d8431e19") } > db.aggregateSumDemo.insertOne({"CustomerName":"Sam","Amount":300}); { "acknowledged" : true, "insertedId" : ObjectId("5c8baa1c80f10143d8431e1a") } > db.aggregateSumDemo.insertOne({"CustomerName":"David","Amount":500}); { "acknowledged" : true, "insertedId" : ObjectId("5c8baa2580f10143d8431e1b") }

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

> db.aggregateSumDemo.find().pretty();

आउटपुट निम्न है:

{ "_id" : ObjectId("5c8baa0680f10143d8431e18"), "CustomerName" : "Larry", "Amount" : 140 } { "_id" : ObjectId("5c8baa1380f10143d8431e19"), "CustomerName" : "Mike", "Amount" : 160 } { "_id" : ObjectId("5c8baa1c80f10143d8431e1a"), "CustomerName" : "Sam", "Amount" : 300 } { "_id" : ObjectId("5c8baa2580f10143d8431e1b"), "CustomerName" : "David", "Amount" : 500 }

कुल संख्या प्राप्त करने की क्वेरी यहाँ है।

केस 1 - क्वेरी इस प्रकार है:

> db.aggregateSumDemo.aggregate([ { ... $group: { ... _id: null, ... "TotalCount": { ... $sum:1 ... } ... } ... } ] );

आउटपुट निम्न है:

{ "_id" : null, "TotalCount" : 4 }

MongoDB में कुल योग प्राप्त करने के लिए एग्रीगेट सम करने की क्वेरी यहाँ है।

केस 2 - क्वेरी इस प्रकार है:

> db.aggregateSumDemo.aggregate([ { ... $group: { ... _id: null, ... "TotalAmount": { ... $sum: "$Amount" ... } ... } ... } ] );

आउटपुट निम्न है:

{ "_id" : null, "TotalAmount" : 1100 }

  1. - MongoDB एग्रीगेट: संग्रह में रिकॉर्ड किए गए दस्तावेज़ों का औसत दैनिक औसत प्राप्त करें

    रिकॉर्ड किए गए दस्तावेज़ों का औसत दैनिक औसत प्राप्त करने के लिए aggregate() का उपयोग करें। उसके अंदर $project और $group का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: उदाहरण > db.demo451.insertOne({ ... DueDate:new ISODate("2020-03-15T10:50:35.000Z"), ... Value: 10 ... } ... )

  1. - MongoDB $unwind: गिनती प्राप्त करने के लिए उपयोग करें

    MongoDB में $unwind इनपुट दस्तावेज़ों से ऐरे फ़ील्ड को डी-कंस्ट्रक्ट करता है ताकि प्रत्येक एलिमेंट के लिए एक दस्तावेज़ आउटपुट हो। गिनती प्राप्त करने के लिए $unwind के साथ aggregate() का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo478.insertOne( ... { ... ...    "D

  1. - MongoDB aggregate से डुप्लिकेट नामों के संबंधित फील्ड मानों की गिनती प्राप्त करें

    उदाहरण देखते हैं और डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo558.insertOne( ... { _id : 100, CountryCode:101, details: [ ... { Name:Chris, Subject:MySQL }, ... { Name:Chris, Subject:MongoDB }, ... { Name:Chris, Subject:Java }, ... { Name:Bob, Subject:Python }, ... { Name:Bob, Subject:J