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

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

MongoDB-তে নেস্টেড অ্যারে ভিতরের নির্দিষ্ট সাব-ডকুমেন্ট আপডেট করতে কোয়েরিতে সাব-ডকুমেন্টের _id দিয়ে ম্যাচ করে, পজিশনাল $ অপারেটর দিয়ে সেটি আপডেট করা হয়।

উদাহরণ: ইনফরমেশন অ্যারে (প্রতিটি এলিমেন্টের আলাদা _id)

> db.demo595.insertOne({
    "Information": [
        { "_id": new ObjectId(), Name: "Chris" },
        { "_id": new ObjectId(), Name: "Robert" }
    ]
});

নেস্টেড ডকুমেন্ট আপডেট: Chris -> David Miller

> db.demo595.update(
    { "Information._id": ObjectId("5e93369cfd2d90c177b5bce2") },
    { $set: { "Information.$.Name": "David Miller" } }
);

রেজাল্ট: WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ফলাফল

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

আউটপুট: Chris-এর জায়গায় "David Miller" দেখাবে, Robert অপরিবর্তিত।

মূল পয়েন্ট:

  • কোয়েরিতে Information._id দিয়ে নির্দিষ্ট সাব-ডকুমেন্ট টার্গেট করা হয়েছে
  • Information.$.Name - $ কোয়েরিতে ম্যাচ করা অ্যারে এলিমেন্টকে নির্দেশ করে
  • প্রতিটি সাব-ডকুমেন্টে यুনিক _id রাখা এই প্যাটার্নের জন্য বেস্ট প্র্যাকটিস
  • MongoDB ৩.৬+ এ arrayFilters দিয়ে আরও স্পষ্টভাবে করা যায়
  1. MongoDB-এ নেস্টেড অ্যারে সর্ট করা

  2. MongoDB-এ নেস্টেড (Nested) ডকুমেন্টে শর্ত লাগানো (Dot Notation + $gt)

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

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