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

MongoDB-এ নির্দিষ্ট ফিল্ডের সব ভ্যালু লিস্ট করা (distinct)


distinct() মেথড ব্যবহার করে ফিল্ডের সব ইউনিক ভ্যালু পাওয়া

একটি ফিল্ডে থাকা সব ভ্যালু (ডুপ্লিকেট বাদ দিয়ে) পেতে distinct() মেথড ব্যবহার করা হয়। ফিল্ডটি অ্যারে হলে অ্যারেতে থাকা সব এলিমেন্টের ইউনিক ভ্যালু রিটার্ন করে।

সিনট্যাক্স

db.yourCollectionName.distinct("yourFieldName");

উদাহরণ (অ্যারে ফিল্ড)

> db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[10,20,30]});
> db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[40,50,60]});
> db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[10,20,30]});
> db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[40,50,70]});

ListOfValues ফিল্ডের সব ইউনিক ভ্যালু

> db.listAllValuesOfCeratinFieldsDemo.distinct("ListOfValues");
[ 10, 20, 30, 40, 50, 60, 70 ]

ব্যাখ্যা: অ্যারে ফিল্ডের জন্য distinct অ্যারেতে থাকা সব এলিমেন্টকে ফ্ল্যাটেন (flatten) করে ইউনিক ভ্যালু রিটার্ন করে। ১০, ২০, ৩০, ৪০, ৫০ একাধিকবার থাকা সত্ত্বেও একবারই আসেছে।

টিপস: সাধারণ (non-array) ফিল্ডের জন্যও একইভাবে কাজ করে। বড় ডেটাসেটে Aggregation ($unwind + $group) ব্যবহার করা ভালো।


  1. MongoDB-তে অবজেক্টের ফিল্ড অ্যারে ভ্যালু কোয়েরি করা

  2. MongoDB-এ অন্য ফিল্ড দিয়ে গ্রুপ বাই করে মান বের করা

  3. MongoDB-এ একটি ফিল্ডের সব মান আপডেট করা নির্দিষ্ট স্ট্রিং দিয়ে

  4. MySQL-এ UPDATE ব্যবহার করে একটি কলামের সকল মান ০ (শূন্য) করা