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

एग्रीगेटेड परिणाम प्राप्त करें और विभिन्न MongoDB दस्तावेज़ों में दोहराए गए मानों की गिनती खोजें


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

> db.demo452.insertOne({"StudentName":"John","StudentAge":21});{    "acknowledged" : true,    "insertedId" : ObjectId("5e7b7e3371f552a0ebb0a6f3") } > db.demo452.insertOne({"StudentName":"John","StudentAge":22});{    "acknowledged" : true,    "insertedId" : ObjectId("5e7b7e3671f552a0ebb0a6f4") } > db.demo452.insertOne({"StudentName":"John","StudentAge":23});{    "acknowledged" : true,    "insertedId" : ObjectId("5e7b7e3971f552a0ebb0a6f5") } > db.demo452.insertOne({"StudentName":"David","StudentAge":24});{    "acknowledged" : true,    "insertedId" : ObjectId("5e7b7e4371f552a0ebb0a6f6") } > db.demo452.insertOne({"StudentName":"David","StudentAge":25});{    "acknowledged" : true,    "insertedId" : ObjectId("5e7b7e4571f552a0ebb0a6f7") }

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

> db.demo452.find();

आउटपुट:

{ "_id" : ObjectId("5e7b7e3371f552a0ebb0a6f3"), "StudentName" : "John", "StudentAge" : 21 } { "_id" : ObjectId("5e7b7e3671f552a0ebb0a6f4"), "StudentName" : "John", "StudentAge" : 22 } { "_id" : ObjectId("5e7b7e3971f552a0ebb0a6f5"), "StudentName" : "John", "StudentAge" : 23 } { "_id" : ObjectId("5e7b7e4371f552a0ebb0a6f6"), "StudentName" : "David", "StudentAge" : 24} { "_id" : ObjectId("5e7b7e4571f552a0ebb0a6f7"), "StudentName" : "David", "StudentAge" : 25}

विभिन्न MongoDB दस्तावेज़ों में दोहराए गए मानों की गिनती खोजने की क्वेरी

> db.demo452.aggregate([ ...    {$group: {_id:"$StudentName", count:{$sum:1}}}, ...    {$sort: {count:-1}}, ... ...    {$group: {_id:1, StudentName:{$push:{StudentName:"$_id", count:"$count"}}}}, ...    {$project: { ...       first : {$arrayElemAt: ["$StudentName", 0]}, ...       second: {$arrayElemAt: ["$StudentName", 1]}, ...       others: {$slice:["$StudentName", 2, {$size: "$StudentName"}]} ...    } ... }, ... ... {$project: { ...    status: [ ...       "$first", ...       "$second", ...       { ...          StudentName: "New Student Name", ...          count: {$sum: "$others.count"} ...       } ...    ] ... } ... }, ... ... {$unwind: "$status"}, ... {$project: { _id:0, StudentName: "$status.StudentName", count: "$status.count" }} ... ])

आउटपुट

{ "StudentName" : "John", "count" : 3 } { "StudentName" : "David", "count" : 2 } { "StudentName" : "New Student Name", "count" : 0 }

  1. - MySQL में CASE WHEN और SUM से शर्ती गिनती को अलग कॉलम में प्रदर्शित करें (पिवट)

    MySQL में शर्तों के आधार पर गिनती करके परिणाम को अलग-अलग कॉलम में प्रदर्शित करने (पिवट/क्रॉस-टैब) के लिए SUM(CASE WHEN ... THEN 1 ELSE 0 END) पैटर्न का उपयोग करें। यह GROUP BY के साथ संयोजित करके पंक्तियों को कॉलम में बदल देता है। सिंटैक्स SELECT group_column, SUM(CASE WHEN condition1 THEN

  1. - MySQL में SUM() के साथ सशर्त गणना करके एक पंक्ति में एकाधिक कॉलम में परिणाम प्रदर्शित करना

    MySQL में पिवट-शैली सशर्त गणना एक ही क्वेरी में विभिन्न श्रेणियों के लिए एकाधिक गणना प्राप्त करने और उन्हें एक पंक्ति में अलग-अलग कॉलम के रूप में प्रदर्शित करने के लिए, SUM() के साथ बूलियन अभिव्यक्तियों का उपयोग करें। उदाहरण: पसंदीदा रंग गिनती SELECT * FROM DemoTable1452; +----------------+ | Favo

  1. - C++ में N को 1, 3 और 4 के योग के रूप में व्यक्त करने के विभिन्न तरीकों की गिनती

    एक धनात्मक संख्या N इनपुट के रूप में दी गई है। लक्ष्य उन तरीकों की संख्या ढूंढना है जिनमें हम N को केवल 1s, 3s और 4s के योग के रूप में व्यक्त कर सकते हैं। उदाहरण के लिए, यदि N 4 है तो इसे 1+1+1+1, 3+1, 1+3, 4 के रूप में दर्शाया जा सकता है तो तरीकों की संख्या 4 होगी। उदाहरणों से समझते हैं। उदाहरण के