$group এবং aggregate() ব্যবহার করে টপ ইউজার খুঁজে বের করা
MongoDB-এ SQL-এর COUNT সমতুল্য অপারেশন করতে $group সাথে $sum: 1 ব্যবহার করা হয়। এরপর $sort এবং $limit দিয়ে টপ ইউজার বের করা যায়।
নমুনা সংগ্রহ তৈরি
> db.demo264.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e47ed441627c0c63e7dba9e") }
> db.demo264.insertOne({"Name":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e47ed471627c0c63e7dba9f") }
> db.demo264.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e47ed491627c0c63e7dbaa0") }
> db.demo264.insertOne({"Name":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e47ed4c1627c0c63e7dbaa1") }
> db.demo264.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e47ed4e1627c0c63e7dbaa2") }
> db.demo264.insertOne({"Name":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e47ed531627c0c63e7dbaa3") }
সব ডকুমেন্ট দেখানো
> db.demo264.find();
আউটপুট:
টপ ইউজার বের করার অগ্রেশন কোয়েরি
> db.demo264.aggregate([ {$group : {_id : "$Name", "count" : {$sum : 1}}}, {$sort : {"count" : -1}}, {$limit : 5} ])ফলাফল:
ব্যাখ্যা: Chris ৩ বার, Bob ২ বার, David ১ বার এসেছে। Descending সর্ট করে লিমিট ৫ দিয়ে টপ ৫ দেখা যাচ্ছে।