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

MongoDB-এ সবচেয়ে শেষে ইনসার্ট করা ডকুমেন্ট কিভাবে বের করবেন?

MongoDB-এ সবচেয়ে gầnে ইনসার্ট করা ডকুমেন্ট বের করতে _id ফিল্ডে নেমেরিক অর্ডার (ObjectId-তে টাইমস্ট্যাম্প থাকে) অনুযায়ী সর্ট করে limit(1) ব্যবহার করুন।

উদাহরণ

কয়েকটি ডকুমেন্ট ইনসার্ট করুন:

> db.getLastInsertedDocument.insertOne({"Name":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefb17eef71edecf6a1f6a8") }

> db.getLastInsertedDocument.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefb181ef71edecf6a1f6a9") }

> db.getLastInsertedDocument.insertOne({"Name":"Robert"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefb185ef71edecf6a1f6aa") }

সকল ডকুমেন্ট দেখুন:

> db.getLastInsertedDocument.find();

আউটপুট:

{ "_id" : ObjectId("5cefb17eef71edecf6a1f6a8"), "Name" : "John" }
{ "_id" : ObjectId("5cefb181ef71edecf6a1f6a9"), "Name" : "Chris" }
{ "_id" : ObjectId("5cefb185ef71edecf6a1f6aa"), "Name" : "Robert" }

সর্বশেষ ইনসার্ট করা ডকুমেন্ট বের করা

> db.getLastInsertedDocument.find({}).sort({_id: -1}).limit(1);

আউটপুট:

{ "_id" : ObjectId("5cefb185ef71edecf6a1f6aa"), "Name" : "Robert" }

ব্যাখ্যা:

  • sort({_id: -1}) — _id (ObjectId) নেমেরিক অর্ডারে ডেসেন্ডিং সর্ট করে, যাতে সর্বশেষ ইনসার্ট করা ডকুমেন্ট প্রথমে আসে।
  • limit(1) — শুধু প্রথম ডকুমেন্টটি ফেরত দেয়।

নোট: এটি ObjectId ব্যবহার করার সময় কাজ করে, কারণ ObjectId-র প্রথম ৪ বাইট টাইমস্ট্যাম্প। যদি কাস্টম _id ব্যবহার করেন, তবে আলাদা createdAt ফিল্ড রাখা ভালো।

  1. MongoDB-এ সাব-ডকুমেন্ট রিমুভ করা

  2. MongoDB-তে নেস্টেড ডকুমেন্ট খোঁজা (Dot Notation)

  3. MongoDB-তে নেস্টেড ডকুমেন্ট আপডেট করা (ডট নোটেশন + পজিশনাল $)

  4. MongoDB-তে ডট নোটেশন ব্যবহার করে নেস্টেড ডকুমেন্ট আপডেট করা