आप $group का उपयोग कर सकते हैं। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं:
> db.demo659.insertOne({Name:"Chris",CountryName:"US","Marks":50});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50724113ea5458c7cf9") }
> db.demo659.insertOne({Name:"David",CountryName:"US","Marks":60});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50724113ea5458c7cfa") }
> db.demo659.insertOne({Name:"Mike",CountryName:"US","Marks":55});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50724113ea5458c7cfb") }
> db.demo659.insertOne({Name:"Chris",CountryName:"UK","Marks":75});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50724113ea5458c7cfc") }
> db.demo659.insertOne({Name:"David",CountryName:"UK","Marks":54});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50724113ea5458c7cfd") }
> db.demo659.insertOne({Name:"Mike",CountryName:"UK","Marks":72});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea1a50824113ea5458c7cfe") }
find() मेथड की मदद से संग्रह के सभी दस्तावेज़ प्रदर्शित करें:
> db.demo659.find();
यह निम्न आउटपुट देगा। यह प्रत्येक यानी CountryName US और UK से अधिकतम अंक ढूंढता है:
{ "_id" : ObjectId("5ea1a50724113ea5458c7cf9"), "Name" : "Chris", "CountryName" : "US", "Marks" : 50 }
{ "_id" : ObjectId("5ea1a50724113ea5458c7cfa"), "Name" : "David", "CountryName" : "US", "Marks" : 60 }
{ "_id" : ObjectId("5ea1a50724113ea5458c7cfb"), "Name" : "Mike", "CountryName" : "US", "Marks" : 55 }
{ "_id" : ObjectId("5ea1a50724113ea5458c7cfc"), "Name" : "Chris", "CountryName" : "UK", "Marks" : 75 }
{ "_id" : ObjectId("5ea1a50724113ea5458c7cfd"), "Name" : "David", "CountryName" : "UK", "Marks" : 54 }
{ "_id" : ObjectId("5ea1a50824113ea5458c7cfe"), "Name" : "Mike", "CountryName" : "UK", "Marks" : 72 }
प्रत्येक समूह में अधिकतम आइटम चुनने की क्वेरी:
> db.demo659.aggregate( { $group: {
_id: {CountryName: "$CountryName" },
'MaxMarks': { $max : "$Marks" }
}})
यह निम्न आउटपुट देगा:
{ "_id" : { "CountryName" : "UK" }, "MaxMarks" : 75 }
{ "_id" : { "CountryName" : "US" }, "MaxMarks" : 60 }