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

MongoDB-তে $slice ব্যবহার করে ফিল্ডের রিটার্নিং ভ্যালু লিমিট করা

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 অপারেটর আলাদা (অ্যারে এক্সপ্রেশন)۔

  1. MongoDB-এ রোল (Role) অনুযায়ী শুধু Name ফিল্ড ফেচ করা

  2. MongoDB Aggregation-এ ডুপ্লিকেট নামের কাউন্ট ও সাবজেক্ট লিস্ট বের করা

  3. MongoDB-এ একটি ফিল্ডের সব মান আপডেট করা নির্দিষ্ট স্ট্রিং দিয়ে

  4. MongoDB-এ "@email" স্ট্রিং সার্চ করা ফিল্ড ভ্যালুতে