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

MongoDB-তে অ্যারের প্রথম এলিমেন্টের প্রপার্টি খুঁজে বের করার পদ্ধতি


MongoDB-তে $slice অপারেটর ব্যবহার করে অ্যারের প্রথম এলিমেন্টের প্রপার্টি পাওয়া

MongoDB-তে অ্যারে ফিল্ড থেকে শুধু প্রথম এলিমেন্ট (এবং তার নির্দিষ্ট প্রপার্টি) প্রজেক্ট করতে $slice অপারেটর ব্যবহার করা হয়।

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

> db.firstElementOfArray.insertOne(
  {
    _id: 100,
    "Details": [
      { "CustomerName": "John", "CustomerCountryName": "US" }
    ]
  }
);
{ "acknowledged" : true, "insertedId" : 100 }

> db.firstElementOfArray.insertOne(
  {
    _id: 101,
    "Details": [
      { "CustomerName": "Carol", "CustomerCountryName": "UK" },
      { "CustomerName": "David", "CustomerCountryName": "AUS" }
    ]
  }
);
{ "acknowledged" : true, "insertedId" : 101 }

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

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

আউটপুট:

{
  "_id" : 100,
  "Details" : [
    { "CustomerName" : "John", "CustomerCountryName" : "US" }
  ]
}
{
  "_id" : 101,
  "Details" : [
    { "CustomerName" : "Carol", "CustomerCountryName" : "UK" },
    { "CustomerName" : "David", "CustomerCountryName" : "AUS" }
  ]
}

ধাপ ৩: অ্যারের প্রথম এলিমেন্টের CustomerName প্রপার্টি পান

> db.firstElementOfArray.find({}, {'Details': {$slice: 1}, 'Details.CustomerName': 1}).pretty();

ফলাফল:

{
  "_id" : 100,
  "Details" : [ { "CustomerName" : "John" } ]
}
{
  "_id" : 101,
  "Details" : [ { "CustomerName" : "Carol" } ]
}

ব্যাখ্যা:

  • {$slice: 1} - অ্যারেতে শুধু প্রথম ১টি এলিমেন্ট রাখে (পজিটিভ সংখ্যা = শুরু থেকে)
  • 'Details.CustomerName': 1 - স্লাইস করা এলিমেন্ট থেকে শুধু CustomerName ফিল্ড প্রজেক্ট করে
  • _id: 100 वाले ডকুমেন্টে ১টি এলিমেন্ট থাকায় সেটি পাওয়া গেছে
  • _id: 101 वाले ডকুমেন্টে ২টি এলিমেন্ট থাকায় প্রথমটি (Carol) পাওয়া গেছে

আরও $slice উদাহরণ:

  • {$slice: -1} - শেষ ১টি এলিমেন্ট
  • {$slice: [skip, limit]} -.skip করে limit সংখ্যক এলিমেন্ট (যেমন [$slice: [1, 2]] = ২য় ও ৩য় এলিমেন্ট)

  1. MongoDB-তে সাবডকুমেন্টের অ্যারে কুয়েরি

  2. MongoDB-এ অ্যারে অবজেক্টের মধ্যে একাধিক শর্ত ম্যাচ করা

  3. MongoDB-তে $slice ব্যবহার করে অ্যারে থেকে একমাত্র এলিমেন্ট বের করা

  4. MongoDB-তে অ্যাগ্রিগেশন দিয়ে অ্যারে এলিমেন্টের গড় (Average) বের করা ($avg)