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

MongoDB-এ অবজেক্টের ভেতরের অ্যারেতে নতুন আইটেম যোগ করা


নেস্টেড অবজেক্টের অ্যারেতে $push দিয়ে এলিমেন্ট যোগ

MongoDB-এ একটি অবজেক্টের ভেতরে থাকা অ্যারেতে নতুন এলিমেন্ট যোগ করতে ডট নোটেশন সহ $push অপারেটর ব্যবহার করা হয়।

নমুনা ডেটা তৈরি

> db.demo449.insertOne({
    details1: {
        details2: [{ _id: new ObjectId(), Name: "Chris" }],
        details3: [{ _id: new ObjectId(), Name: "David" }]
    }
})

সমস্ত ডকুমেন্ট দেখানো

> db.demo449.find()

আউটপুট:

{ "_id": ObjectId("..."), "details1": { "details2": [{ "_id": ObjectId("..."), "Name": "Chris" }], "details3": [{ "_id": ObjectId("..."), "Name": "David" }] } }

নেস্টেড অ্যারেতে আইটেম যোগ করার কোয়েরি

> db.demo449.update(
    { _id: ObjectId("5e7a40e971f552a0ebb0a6e3") },
    { $push: { 'details1.details2': { _id: ObjectId(), "Name": "Carol" } } }
)

ফলাফল:

WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })

আপডেট後の ডকুমেন্ট

> db.demo449.find()

আউটপুট:

{ "_id": ObjectId("..."), "details1": { "details2": [{ "_id": ObjectId("..."), "Name": "Chris" }, { "_id": ObjectId("..."), "Name": "Carol" }], "details3": [{ "_id": ObjectId("..."), "Name": "David" }] } }

ব্যাখ্যা

  • details1.details2: ডট নোটেশন দিয়ে নেস্টেড অ্যারের পথ নির্দিষ্ট করা হয়েছে
  • $push: অ্যারেতে নতুন ডকুমেন্ট যুক্ত করে
  • নতুন ডকুমেন্টে _id স্বয়ংক্রিয় জেনারেট করা হয়েছে ObjectId() দিয়ে

এই প্যাটার্ন যেকোনো গভীর নেস্টেড অ্যারেতে কাজ করে।

  1. MongoDB-এ অ্যারেতে এলিমেন্ট যুক্ত করার পদ্ধতি

  2. MongoDB-এ অবজেক্ট অ্যারে থেকে নির্দিষ্ট আইটেম বের করা

  3. MongoDB-এ অবজেক্ট থেকে ফিল্ড ডিলিট করা

  4. MongoDB-এ ডকুমেন্টের ভেতরের অ্যারেতে অবজেক্ট আপডেট করা (Positional $ অপারেটর)