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

MongoDB-এ ফিল্ড থেকে শেষের দুটি মান কিভাবে বের করবেন?

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

উদাহরণ

একটি ডকুমেন্ট তৈরি করুন:

> db.numberOfValuesDemo.insertOne({"Values":[100,200,300,900,1000,98]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefb736ef71edecf6a1f6ab") }

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

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

আউটপুট:

{ "_id" : ObjectId("5cefb736ef71edecf6a1f6ab"), "Values" : [ 100, 200, 300, 900, 1000, 98 ] }

শেষের ২টি মান বের করা ($slice: -2)

> db.numberOfValuesDemo.find({}, { "Values": { "$slice": -2 } });

আউটপুট:

{ "_id" : ObjectId("5cefb736ef71edecf6a1f6ab"), "Values" : [ 1000, 98 ] }

ব্যাখ্যা:

  • $slice: -2 — অ্যারের শেষ থেকে ২টি এলিমেন্ট রিটার্ন করে।
  • $slice: 2 — অ্যারের শুরু থেকে ২টি এলিমেন্ট রিটার্ন করবে (১০০, ২০০)।
  • $slice: [skip, limit] — নির্দিষ্ট পজিশন থেকে নির্দিষ্ট সংখ্যক এলিমেন্ট বের করতে ব্যবহৃত হয়।

ব্যবহারিক পরিস্থিতি: লগ, নোটিফিকেশন, ইতিহাস ইত্যাদি যেখানে সাম্প্রতিক কিছু এন্ট্রি দেখতে হয়, সেখানে এটি খুব কাজে আসে।

  1. MongoDB-এ স্ট্রাকচার্ড গ্রুপিং কোয়েরি: কাউন্ট সহ নতুন ফিল্ড

  2. MongoDB অ্যাগ্রিগেশন: $match এবং $and দিয়ে একাধিক শর্ত মিলিয়ে ডকুমেন্ট বের করা

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

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