MongoDB-তে distinct() এবং length ব্যবহার করে ইউনিক ভ্যালুর সংখ্যা গণনা করা
MongoDB-তে কোনো ফিল্ডের ইউনিক (distinct) ভ্যালুগুলো বের করে তার সংখ্যা জানতে distinct() মেথড এবং length প্রপার্টি ব্যবহার করা হয়।
সিন্ট্যাক্স:
db.yourCollectionName.distinct("yourFieldName").length;
ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন
> db.countDistinctDemo.insertOne({"StudentName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6166de8cc557214c0dfa") }
> db.countDistinctDemo.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd616ade8cc557214c0dfb") }
> db.countDistinctDemo.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd616cde8cc557214c0dfc") }
> db.countDistinctDemo.insertOne({"StudentName":"Carol"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6170de8cc557214c0dfd") }
> db.countDistinctDemo.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6175de8cc557214c0dfe") }
> db.countDistinctDemo.insertOne({"StudentName":"Carol"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbd6181de8cc557214c0dff") }
ধাপ ২: সব ডকুমেন্ট প্রদর্শন করুন
> db.countDistinctDemo.find().pretty();
আউটপুট:
{
"_id" : ObjectId("5cbd6166de8cc557214c0dfa"),
"StudentName" : "John"
}
{
"_id" : ObjectId("5cbd616ade8cc557214c0dfb"),
"StudentName" : "Chris"
}
{
"_id" : ObjectId("5cbd616cde8cc557214c0dfc"),
"StudentName" : "Chris"
}
{
"_id" : ObjectId("5cbd6170de8cc557214c0dfd"),
"StudentName" : "Carol"
}
{
"_id" : ObjectId("5cbd6175de8cc557214c0dfe"),
"StudentName" : "David"
}
{
"_id" : ObjectId("5cbd6181de8cc557214c0dff"),
"StudentName" : "Carol"
}
ধাপ ৩: ডISTINCT ভ্যালুর সংখ্যা গণনা করুন
> db.countDistinctDemo.distinct("StudentName").length;
ফলাফল:
4
ব্যাখ্যা:
distinct("StudentName")- StudentName ফিল্ডের সব ইউনিক ভ্যালু রিটার্ন করে:["John", "Chris", "Carol", "David"].length- অ্যারেতি লেথ (৪) রিটার্ন করে- মোট ৬টি ডকুমেন্ট, কিন্তু ইউনিক নাম ৪টি (John, Chris, Carol, David)
বিকল্প পদ্ধতি (অগ리게শন):
db.countDistinctDemo.aggregate([
{ $group: { _id: "$StudentName" } },
{ $count: "distinctCount" }
])
এটি বড় ডেটাসেটের জন্য আরও পারফরম্যান্স দেয়।