ডুপ্লিকেট নামের স্কোর যোগ করে ডিস্টিংক্ট জোড়া বের করতে $group ব্যবহার করুন। একটি কালেকশন তৈরি করুন:
> db.demo522.insertOne({"Name":"John","Score":45});
{ "acknowledged" : true, "insertedId" : ObjectId("5e89b646b3fbf26334ef611b") }
> db.demo522.insertOne({"Name":"Bob","Score":67});
{ "acknowledged" : true, "insertedId" : ObjectId("5e89b64eb3fbf26334ef611c") }
> db.demo522.insertOne({"Name":"John","Score":55});
{ "acknowledged" : true, "insertedId" : ObjectId("5e89b655b3fbf26334ef611d") }
> db.demo522.insertOne({"Name":"Bob","Score":33});
{ "acknowledged" : true, "insertedId" : ObjectId("5e89b65cb3fbf26334ef611e") }
find() দিয়ে ডকুমেন্ট দেখান:
> db.demo522.find();
আউটপুট:
{ "_id" : ObjectId("5e89b646b3fbf26334ef611b"), "Name" : "John", "Score" : 45 }
{ "_id" : ObjectId("5e89b64eb3fbf26334ef611c"), "Name" : "Bob", "Score" : 67 }
{ "_id" : ObjectId("5e89b655b3fbf26334ef611d"), "Name" : "John", "Score" : 55 }
{ "_id" : ObjectId("5e89b65cb3fbf26334ef611e"), "Name" : "Bob", "Score" : 33 }
নাম অনুযায়ী গ্রুপ করে স্কোর যোগ করার অগরিগেশন:
> var query = [
{ "$group": { "_id": "$Name", "Score": { "$sum": "$Score" } } },
{ "$project": { "Name": "$_id", "_id": 0, "Score": 1 } }
];
> db.demo522.aggregate(query);
আউটপুট:
ব্যাখ্যা:
$groupস্টেজে_id: "$Name"দিয়ে নাম অনুযায়ী গ্রুপ করা হয়েছে এবং$sum: "$Score"দিয়ে প্রতিটি গ্রুপের স্কোর যোগ করা হয়েছে।$projectদিয়ে আউটপুট ফরম্যাট করা হয়েছে।