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

MongoDB-এ অ্যারে থেকে প্রথম কিছু এলিমেন্ট বাদ দিয়ে বাকি দেখানো ($slice)

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

উদাহরণ: কালেকশন ও ডেটা তৈরি

> db.demo693.insertOne({ Values: [10, 746, 736, 283, 7363, 424, 3535] });
{ "acknowledged" : true, "insertedId" : ObjectId("5ea58a04ece4e5779399c07b") }
> db.demo693.insertOne({ Values: [100, 200, 300, 100, 500, 700, 900, 30000, 40003, 45999] });
{ "acknowledged" : true, "insertedId" : ObjectId("5ea58a1eece4e5779399c07c") }

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

> db.demo693.find();

আউটপুট:

{ "_id" : ObjectId("5ea58a04ece4e5779399c07b"), "Values" : [ 10, 746, 736, 283, 7363, 424, 3535 ] }
{ "_id" : ObjectId("5ea58a1eece4e5779399c07c"), "Values" : [ 100, 200, 300, 100, 500, 700, 900, 30000, 40003, 45999 ] }

$slice দিয়ে প্রথম ৪টি বাদ দিয়ে পরের ৩টি দেখানো

> db.demo693.find({}, { Values: { $slice: [4, 3] } });

সিনট্যাক্স ব্যাখ্যা

  • $slice: [skip, limit] — skip সংখ্যক এলিমেন্ট বাদ দিয়ে, limit সংখ্যক এলিমেন্ট রিটার্ন করুন।
  • [4, 3] — প্রথম ৪টি বাদ, পরের ৩টি নিন।

আউটপুট

{ "_id" : ObjectId("5ea58a04ece4e5779399c07b"), "Values" : [ 7363, 424, 3535 ] }
{ "_id" : ObjectId("5ea58a1eece4e5779399c07c"), "Values" : [ 500, 700, 900 ] }

$slice এর অন্যান্য ব্যবহার

সিনট্যাক্সঅর্থ
{ $slice: 3 }প্রথম ৩টি এলিমেন্ট (limit 3)
{ $slice: -3 }শেষ ৩টি এলিমেন্ট
{ $slice: [2, 5] }২টি বাদ দিয়ে ৫টি (ইন্ডেক্স ২ থেকে ৫টি)۔
{ $slice: [-5, 3] }শেষ থেকে ৫টি বাদ দিয়ে ৩টি (শেষ ৩টি ব্যতীত ৩টি)۔

Aggregation-এ $slice (MongoDB 3.2+)

db.demo693.aggregate([
  { $project: { Values: { $slice: ["$Values", 4, 3] } } }
])

মূল পয়েন্টসমূহ

  • $slice শুধু প্রজেকশনে (find-এর দ্বিতীয় আর্গুমেন্ট বা $project-এ) কাজ করে।
  • নেগেটিভ skip অ্যারে শেষ থেকে গণনা করে।
  • অ্যারে ছোট হলে (skip > length) খালি অ্যারে রিটার্ন করবে।
  • পেজিনেশন (pagination) অ্যারে ডেটার জন্য উপযোগী।
  1. MongoDB ডকুমেন্ট থেকে নাল ভ্যালু বাদ দেওয়া

  2. MongoDB-এ শুধু ইউনিক রেকর্ড দেখানো (ডুপ্লিকেট বাদ দিয়ে)

  3. MongoDB-এ নেস্টেড ডকুমেন্ট থেকে শুধু কী (keys) বের করা

  4. MySQL-এ NULL মান উপেক্ষা করে বাকি মান দেখানো