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

MongoDB एग्रीगेशन: सबसे कम मार्क्स वाले दो दस्तावेज प्राप्त करें


मार्क्स की सॉर्ट की गई सूची प्राप्त करने के लिए $sort का उपयोग करें। केवल दो दस्तावेज प्रदर्शित करने के लिए जिनमें सबसे कम मार्क्स हैं, $limit: 2 का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं:

> db.demo709.insertOne({Name:"John","Marks":75}); { "acknowledged" : true, "insertedId" : ObjectId("5ea839005d33e20ed1097b76") }
> db.demo709.insertOne({Name:"Chris","Marks":45}); { "acknowledged" : true, "insertedId" : ObjectId("5ea839075d33e20ed1097b77") }
> db.demo709.insertOne({Name:"David","Marks":54}); { "acknowledged" : true, "insertedId" : ObjectId("5ea839125d33e20ed1097b78") }
> db.demo709.insertOne({Name:"Bob","Marks":69}); { "acknowledged" : true, "insertedId" : ObjectId("5ea839295d33e20ed1097b79") }

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

> db.demo709.find();

यह निम्न आउटपुट देगा:

{ "_id" : ObjectId("5ea839005d33e20ed1097b76"), "Name" : "John", "Marks" : 75 }
{ "_id" : ObjectId("5ea839075d33e20ed1097b77"), "Name" : "Chris", "Marks" : 45 }
{ "_id" : ObjectId("5ea839125d33e20ed1097b78"), "Name" : "David", "Marks" : 54 }
{ "_id" : ObjectId("5ea839295d33e20ed1097b79"), "Name" : "Bob", "Marks" : 69 }

सबसे कम मार्क्स वाले दो दस्तावेज प्राप्त करने के लिए क्वेरी:

> db.demo709.aggregate([
    { $group: { _id: "$Marks", ListOfName: { $push: "$Name" } } },
    { $sort: { "_id": 1 } },
    { $limit: 2 }
]);

यह निम्न आउटपुट देगा:

{ "_id" : 45, "ListOfName" : [ "Chris" ] }
{ "_id" : 54, "ListOfName" : [ "David" ] }

  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 में एग्रीगेशन का उपयोग करके सभी मानों को मैच करें

    MongoDB में सभी मानों को मैच करने के लिए, एग्रीगेशन में $match के साथ $and का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo574.insertOne({ details1: { details2: { dueDate: new ISODate(2020-01-10), Name: Chris, UserInformation: {

  1. - MongoDB में समान ID वाले दस्तावेज़ों के एलिमेंट्स को एग्रीगेट करना

    अलग-अलग दस्तावेज़ों में समान ID वाले एलिमेंट्स को ग्रुप करने के लिए MongoDB के $group एग्रीगेशन स्टेज का उपयोग करें। डेमो डेटा > db.demo602.insertOne({id:1,Name:Chris}); > db.demo602.insertOne({id:2,Name:David}); > db.demo602.insertOne({id:1,Name:Bob}); > db.demo602.insertOne({id:3,Name