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

MongoDB-এ অ্যাগ্রিগেশন ব্যবহার করে নেস্টেড অ্যারে থেকে নির্দিষ্ট পজিশনের উপাদান বের করা ($slice)

MongoDB অ্যাগ্রিগেশন পাইপলাইনে $slice অপারেটর ব্যবহার করে অ্যারে থেকে নির্দিষ্ট রেঞ্জ বা পজিশনের উপাদান বের করা যায়। সিনট্যাক্স: { $slice: [ <array>, <skip>, <limit> ] }।

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

> db.exactPositionDemo.insertOne({"StudentName":"John","StudentScores":[78,98,56,45,89]});
{ "acknowledged": true, "insertedId": ObjectId("5cd29a1c345990cee87fd883") }

ডকুমেন্ট দেখুন

> db.exactPositionDemo.find().pretty();
আউটপুট:
{
  "_id": ObjectId("5cd29a1c345990cee87fd883"),
  "StudentName": "John",
  "StudentScores": [78, 98, 56, 45, 89]
}

কেস ১: ০ নম্বর ইন্ডেক্স থেকে ১টি উপাদান (প্রথম উপাদান)

> db.exactPositionDemo.aggregate([
  { "$project": { "StudentScores": { "$slice": ["$StudentScores", 0, 1] } } }
]);
আউটপুট:
{ "_id": ObjectId("5cd29a1c345990cee87fd883"), "StudentScores": [78] }

কেস ২: ১ নম্বর ইন্ডেক্স থেকে ১টি উপাদান (দ্বিতীয় উপাদান)

> db.exactPositionDemo.aggregate([
  { "$project": { "StudentScores": { "$slice": ["$StudentScores", 1, 1] } } }
]);
আউটপুট:
{ "_id": ObjectId("5cd29a1c345990cee87fd883"), "StudentScores": [98] }

নোট: $slice-এ skip (কতটা bỏড়ে যাবে) এবং limit (কতগুলো নেবে) থাকে। নেগেটিভ ভ্যালু দিয়ে শেষ থেকে গিনতে পারেন।

  1. MongoDB-এ নেস্টেড অ্যারে অ্যাগ্রিগেট করার পদ্ধতি

  2. MongoDB Aggregate: ইনপুট এলিমেন্ট থেকে দ্বিতীয় এলিমেন্ট বের করা

  3. MongoDB ডকুমেন্ট থেকে প্রথম অ্যারে এলিমেন্ট পাওয়া

  4. MongoDB অ্যাগ্রিগেশন: নেস্টেড অ্যারে এলিমেন্টের গড় (Average) বের করা ($avg + $unwind)