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

MongoDB-তে সাব-অ্যারে ভ্যালু এক্সট্র্যাক্ট করার পদ্ধতি


MongoDB-তে $elemMatch প্রজেকশন অপারেটর ব্যবহার করে সাব-অ্যারে ভ্যালু এক্সট্র্যাক্ট করা

MongoDB-তে অ্যারে অফ অবজেক্টস (সাব-অ্যারে) থেকে নির্দিষ্ট শর্ত পূরণকারী এলিমেন্টটি এক্সট্র্যাক্ট করতে $elemMatch প্রজেকশন অপারেটর ব্যবহার করা হয়।

ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন

> db.extractSubArrayDemo.insertOne(
  {
    _id: 101,
    "clientName": "Larry",
    "ClientDetails": [
      { "ClientProjectName": "Online Game", "DeveloperTeamSize": 10 },
      { "ClientProjectName": "Pig Dice Game", "DeveloperTeamSize": 12 },
      { "ClientProjectName": "Web Student Tracker", "DeveloperTeamSize": 11 }
    ]
  }
);
{ "acknowledged" : true, "insertedId" : 101 }

ধাপ ২: সব ডকুমেন্ট প্রদর্শন করুন

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

আউটপুট:

{
  "_id" : 101,
  "clientName" : "Larry",
  "ClientDetails" : [
    { "ClientProjectName" : "Online Game", "DeveloperTeamSize" : 10 },
    { "ClientProjectName" : "Pig Dice Game", "DeveloperTeamSize" : 12 },
    { "ClientProjectName" : "Web Student Tracker", "DeveloperTeamSize" : 11 }
  ]
}

ধাপ ৩: সাব-অ্যারে থেকে নির্দিষ্ট এলিমেন্ট এক্সট্র্যাক্ট করুন

> db.extractSubArrayDemo.find(
  {'_id': 101},
  { _id: 0, ClientDetails: { $elemMatch: {ClientProjectName: 'Pig Dice Game' } }}
).pretty();

ফলাফল:

{
  "ClientDetails" : [
    { "ClientProjectName" : "Pig Dice Game", "DeveloperTeamSize" : 12 }
  ]
}

ব্যাখ্যা:

  • প্রথম আর্গুমেন্ট {'_id': 101} - কোয়েরি ফিল্টার (শুধু _id: 101 वाला ডকুমেন্ট)
  • দ্বিতীয় আর্গুমেন্ট প্রজেকশন: { _id: 0, ClientDetails: { $elemMatch: {ClientProjectName: 'Pig Dice Game' } }}
  • $elemMatch প্রজেকশন অপারেটরটি অ্যারেতে শর্ত পূরণকারী প্রথম এলিমেন্টটিই রিটার্ন করে
  • _id: 0 দিয়ে _id ফিল্ড এক্সক্লুড করা হয়েছে

ফলাফল: ClientDetails অ্যারেতে "Pig Dice Game" নামক প্রজেক্টটি খুঁজে বের করে সেটি একমাত্র রিটার্ন করেছে।

  1. MongoDB-এ null মান ইন্ডেক্স করা (Unique Index with Null)

  2. MongoDB শেলে ডেট ফরম্যাট করার পদ্ধতি

  3. MongoDB-এ রেঞ্জ কোয়ারি এবং সর্ট লিমিট ব্যবহার করা

  4. MongoDB-তে অ্যারের ভ্যালু অনুযায়ী কালেকশন সর্ট করা (aggregate + $unwind + $sort)