কম্পিউটার টিউটোরিয়াল

MongoDB-এ distinct() দিয়ে অনন্য (unique) ফিল্ড মান বের করা

MongoDB-এ distinct() মেথড ব্যবহার করে ডুপ্লিকেট বাদ দিয়ে মান বের করা

distinct() মেথড একটি ফিল্ডের সব অনন্য (unique) মান একটি অ্যারে হিসেবে রিটার্ন করে। এটি রিপোর্টিং, ড্রপডাউন পপুলেট বা ডেটা অ্যানালিসিসের জন্য খুব কার্যকর।

উদাহরণ: ডেটা ইনসার্ট

> db.demo303.insertOne({FirstName:"Chris",LastName:"Brown"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea0f6f8647eb59e56202f") }
> db.demo303.insertOne({FirstName:"John",LastName:"Doe"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea104f8647eb59e562030") }
> db.demo303.insertOne({FirstName:"Chris",LastName:"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea10df8647eb59e562031") }
> db.demo303.insertOne({FirstName:"John",LastName:"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea121f8647eb59e562032") }
> db.demo303.insertOne({FirstName:"David",LastName:"Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea136f8647eb59e562033") }

সব ডকুমেন্ট দেখানো

> db.demo303.find().pretty();

আউটপুট:

{ "_id" : ObjectId("5e4ea0f6f8647eb59e56202f"), "FirstName" : "Chris", "LastName" : "Brown" }
{ "_id" : ObjectId("5e4ea104f8647eb59e562030"), "FirstName" : "John", "LastName" : "Doe" }
{ "_id" : ObjectId("5e4ea10df8647eb59e562031"), "FirstName" : "Chris", "LastName" : "Smith" }
{ "_id" : ObjectId("5e4ea121f8647eb59e562032"), "FirstName" : "John", "LastName" : "Smith" }
{ "_id" : ObjectId("5e4ea136f8647eb59e562033"), "FirstName" : "David", "LastName" : "Miller" }

distinct() কোয়ারি

> db.demo303.distinct("FirstName");

আউটপুট:

[ "Chris", "John", "David" ]

ব্যাখ্যা

  • distinct("FirstName") — FirstName ফিল্ডের সব অনন্য মান অ্যারে হিসেবে ফেরত দেয়।
  • Chris এবং John দুবার করে থাকা সত্ত্বেও একবারই আসেছে।
  • এটি কোয়ারি ফিল্টারও নেয়: db.demo303.distinct("FirstName", {LastName:"Smith"}) — শুধু Smith এর FirstName গুলো।

পারফরম্যান্স টিপস: সংশ্লিষ্ট ফিল্ডে ইন্ডেক্স থাকলে distinct খুব দ্রুত চলে।

  1. MongoDB-তে এমবেডেড ডকুমেন্ট কোয়েরি করা (aggregate + $unwind)

  2. MongoDB-তে distinct() ব্যবহার করে ইউনিক ভ্যালু বের করা

  3. MongoDB অ্যাগ্রিগেশন দিয়ে সব ডকুমেন্ট জুড়ে ডISTINCT মান গণনা করা

  4. MongoDB-এ ডISTINCT এলিমেন্টের জন্য MAX ভ্যালু বের করা