MongoDB-এ নির্দিষ্ট মানটির কাউন্ট পেতে aggregate() ব্যবহার করুন।
ডকুমেন্টসহ একটি কলেকশন তৈরি করা
> db.demo210.insertOne( ... { ... details: [ ... { ... ClientName: "Robert" ... }, ... { ... ... lientName: "John Doe" ... }, ... { ... ... ClientName: "Robert" ... }, ... { ... ... ClientName: "Robert" ... }, ... { ... ... ClientName: "David Miller" ... } ... ] ... } ...); { "acknowledged" : true, "insertedId" : ObjectId("5e3d99ab03d395bdc21346f9") }
find() মেথড ব্যবহার করে সব ডকুমেন্ট দেখানো
> db.demo210.find();
এটি নিচের আউটপুট তৈরি করবে:
{ "_id" : ObjectId("5e3d99ab03d395bdc21346f9"), "details" : [ { "ClientName" : "Robert" }, { "ClientName" : "John Doe" }, { "ClientName" : "Robert" }, { "ClientName" : "Robert" }, { "ClientName" : "David Miller" } ] }
নির্দিষ্ট মানটির কাউন্ট পাওয়ার কোয়ারী
> db.demo210.aggregate([ ... { "$match" : { "details.ClientName" : "Robert" } }, ... { "$unwind" : "$details" }, ... { "$match" : { "details.ClientName" : "Robert" } }, ... { "$group" : { "_id" : "$_id", "Size" : { "$sum" : 1 } } }, ... { "$match" : { "Size" : { "$gte" : 2 } } } ...]);
এটি নিচের আউটপুট তৈরি করবে:
$unwind দিয়ে অ্যারে ব্রেকডাউন, আবার$matchদিয়ে শুধু "Robert" রেখে,$groupদিয়ে প্রতিটি ডকুমেন্টের কাউন্ট, এবং শেষে$matchদিয়ে কাউন্ট ২ বা তার বেশি হলে ফিল্টার করা হয়েছে।