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

MongoDB-এ অবজেক্ট অ্যারে থেকে ডISTINCT মান বের করা


অবজেক্ট অ্যারে থেকে ইউনিক মান: distinct()

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

নমুনা ডেটা তৈরি

> db.demo442.insertOne({
    "Information": [
        { "FirstName": "John", "Age": 21 },
        { "FirstName": "Sam", "Age": 23 },
        { "FirstName": "John", "Age": 24 },
        { "FirstName": "Carol", "Age": 20 },
        { "FirstName": "Sam", "Age": 22 }
    ]
})

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

> db.demo442.find()

আউটপুট:

{ "_id": ObjectId("..."), "Information": [{ "FirstName": "John", "Age": 21 }, { "FirstName": "Sam", "Age": 23 }, { "FirstName": "John", "Age": 24 }, { "FirstName": "Carol", "Age": 20 }, { "FirstName": "Sam", "Age": 22 }] }

ডিস্টINCT মান বের করার কোয়েরি

> db.demo442.distinct("Information.FirstName")

ফলাফল:

[ "Carol", "John", "Sam" ]

ব্যাখ্যা

  • distinct("Information.FirstName"): ডট নোটেশন দিয়ে অ্যারে অবজেক্টের FirstName ফিল্ড লক্ষ্য করা হয়েছে
  • MongoDB অটোমেটিক অ্যারেতে থাকা সব ডকুমেন্ট থেকে মান সংগ্রহ করে ডুপ্লিকেট সরিয়ে দেয়
  • ফলাফল একটি অ্যারে হিসেবে রিটার্ন হয় (অ্যালফাবেটিক সর্টেড)
  • বড় ডেটাসেটে ইন্ডেক্স থাকলে পারফরম্যান্স ভালো থাকে

নোট: distinct কমান্ড ১৬MB পর্যন্ত ফলাফল রিটার্ন করতে পারে। বড় ফলাফলের জন্য অ্যাগ্রিগেশন ($group) ব্যবহার করুন।

  1. MongoDB-এ ফাইন্ড কুয়েরি থেকে অ্যারে মান রিট্রিভ করা

  2. MongoDB-এ $lookup ব্যবহার করে ObjectId-এর অ্যারে সাথে জয়েন করা

  3. MongoDB-তে অ্যারে থেকে একাধিক মান বের করার কোয়ারি

  4. MongoDB-এ অবজেক্ট অ্যারে থেকে নির্দিষ্ট আইটেম বের করা