MongoDB-তে find()-র প্রজেকশনে $slice ব্যবহার করে অ্যারে ফিল্ড থেকে নির্দিষ্ট সংখ্যক এলিমেন্ট মাত্র রিটার্ন করা যায়। এটি পেজিনেশন বা প্রিভিউ দেখাতে খুবই কার্যকর।
উদাহরণ: ডিটেইলস অ্যারে (৪টি এলিমেন্ট)
> db.demo594.insertOne({
id: 1,
details: [
{ Name: "Chris", Age: 21 },
{ Name: "Bob", Age: 20 },
{ Name: "David", Age: 23 },
{ Name: "Sam", Age: 22 }
]
});
শুধু প্রথম ১টি এলিমেন্ট রিটার্ন করা
> db.demo594.find({}, { "Name": 1, "details": { $slice: 1 } });
আউটপুট:
{ "_id" : ..., "details" : [ { "Name" : "Chris", "Age" : 21 } ] }
$slice অপশন:
| সিনট্যাক্স | ব্যাখ্যা |
|---|---|
{ $slice: n } | শুরু থেকে n টি এলিমেন্ট |
{ $slice: -n } | শেষ থেকে n টি এলিমেন্ট |
{ $slice: [skip, limit] } | skip টি বাদ দিয়ে limit টি এলিমেন্ট |
উদাহরণ: { $slice: [1, 2] } → ২য় এবং ৩য় এলিমেন্ট (সেকিপ ১, নাও ২)।
দ্রষ্টব্য: $slice শুধু প্রজেকশনে (find-এর ২য় আর্গুমেন্টে) কাজ করে, অ্যাগ্রিগেশনে নয়। অ্যাগ্রিগেশনে $slice অপারেটর আলাদা (অ্যারে এক্সপ্রেশন)۔