MongoDB-এ অ্যারেতে এলিমেন্ট যোগ করতে এবং সাইজ লিমিট রাখতে $push সাথে $each এবং $slice ব্যবহার করুন। একটি কালেকশন তৈরি করুন:
> db.demo656.insertOne({Name:"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5ea060264deddd72997713cf") }
find() দিয়ে ডকুমেন্ট দেখান:
> db.demo656.find();
আউটপুট:
প্রথমবার "John" যোগ করে অ্যারে সাইজ ৯ রাখা (নেগেটিভ স্লাইস = শেষ থেকে):
> db.demo656.update({Name:"John"}, {"$push":{"ListOfName": {"$each": ["John"], "$slice": -9}}}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })আউটপুট:
দ্বিতীয়বার "David" যোগ করে আবার স্লাইস:
> db.demo656.update({Name:"John"}, {"$push":{"ListOfName": {"$each": ["David"], "$slice": -9}}}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })ফাইনাল আউটপুট:
ব্যাখ্যা:
$eachএকাধিক এলিমেন্ট যোগ করতে দেয় (এখানে একটা)।$slice: -9অ্যারে সাইজ ৯ এর চেয়ে বড় হলে পুরনো এলিমেন্টগুলো (শুরু থেকে) ড্রপ করে দেয়। এটি সি.সি. বাফার বা লগ রাখতে উপযোগী।$positionদিয়ে ইনসার্ট পজিশন কন্ট্রোল করা যায়।