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

MongoDB में Structured Grouping Query - Count के साथ New Field Display करना

इसके लिए MongoDB में aggregate() के अंदर $group का उपयोग करें। $group input documents को specified _id expression द्वारा group करता है और प्रत्येक distinct grouping के लिए एक document output करता है।

Collection बनाना

> db.demo534.insertOne({_id:10,"ProductId":100,"ProductName":"Product-1"});
{ "acknowledged" : true, "insertedId" : 10 }
> db.demo534.insertOne({_id:11,"ProductId":100,"ProductName":"Product-2"});
{ "acknowledged" : true, "insertedId" : 11 }
> db.demo534.insertOne({_id:12,"ProductId":101,"ProductName":"Product-1"});
{ "acknowledged" : true, "insertedId" : 12 }

सभी Documents Display करना

> db.demo534.find();

Output:

{ "_id" : 10, "ProductId" : 100, "ProductName" : "Product-1" }
{ "_id" : 11, "ProductId" : 100, "ProductName" : "Product-2" }
{ "_id" : 12, "ProductId" : 101, "ProductName" : "Product-1" }

Structured Grouping Query

> db.demo534.aggregate(
... {
...   $group:
...   {
...     _id:
...     {
...       productName: "$ProductName",
...       productId: "$ProductId"
...     },
...     count:
...     {
...       $sum: 1
...     }
...   },
...   {
...     $group:
...     {
...       _id: "$_id.productId",
...       itemCounts:
...       {
...         $push:
...         {
...           productName: "$_id.productName",
...           count: "$count"
...         }
...       }
...     }
...   })

Output:

{ "_id" : 101, "itemCounts" : [ { "productName" : "Product-1", "count" : 1 } ] }
{ "_id" : 101, "itemCounts" : [ { "productName" : "Product-2", "count" : 1 }, { "productName" : "Product-1", "count" : 1 } ] }

व्याख्या: पहले $group में ProductName और ProductId के combination द्वारा group करके count निकाला गया। फिर दूसरे $group में productId द्वारा group करके $push से array बनाया गया जिसमें प्रत्येक product का name और count शामिल है।

  1. - MongoDB में ग्रुपिंग को ऑब्जेक्ट में प्रोजेक्ट करके केवल मार्क्स फील्ड प्रदर्शित करें

    आइए पहले एक दस्तावेज बनाते हैं: > var document= [ { SubjectName: MySQL, Marks: 78 }, { SubjectName: MongoDB, Marks: 89 }, { SubjectName: Java, Marks: 71 }, ]; दस्तावेज प्रदर्शित करने के लिए क्वेरी: > printjson(document); यह निम्न आउटपुट देगा: [ { SubjectName: MySQL, Marks: 78

  1. - MongoDB में नया फ़ील्ड जोड़कर कीमत को विभाजित करके कन्कैटनेट करना

    $addFields, $map, $divide, $toString और $reduce का उपयोग करके नया फ़ील्ड बनाएं। डेमो डेटा db.demo719.insertOne({ Number:7374644, details : { otherDetails : [ { ProductId :102, ProductPrice : NumberInt(500) }, { ProductId :103, ProductPrice : NumberInt(2000) }

  1. - MySQL में विशिष्ट मानों की घटनाओं को गिनें और नए कॉलम में परिणाम प्रदर्शित करें

    COUNT(*) के साथ GROUP BY का उपयोग करके प्रत्येक विशिष्ट मान की घटनाओं को गिनें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable (Value INT); Query OK, 0 rows affected (0.57 sec) INSERT INTO DemoTable VALUES(80),(90),(90),(80),(100),(90); सभी रिकॉर्ड देखना SELECT * FROM DemoTable; आउटपुट: +----