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

MongoDB-এ updateOne এবং $push ব্যবহার করে নেস্টেড অ্যারে আপডেট করা

নেস্টেড অ্যারেতে নতুন এলিমেন্ট যোগ করতে updateOne() এবং $push সাথে $elemMatch ব্যবহার করুন। একটি কালেকশন তৈরি করুন:

> db.demo526.insertOne({
    "CountryName": "US",
    "TeacherName": "Bob",
    "StudentInformation": [
        { "Name": "Chris", "Subject": "MySQL", "ListOfMailId":[] },
        { "Name": "David", "Subject": "MongoDB", "ListOfMailId":[] }
    ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8af031437efc8605595b6b") }

find() দিয়ে ডকুমেন্ট দেখান:

> db.demo526.find();

আউটপুট:

Name: "David" এবং Subject: "MongoDB" মিলে যাওয়া সাব-ডকুমেন্টের ListOfMailId অ্যারেতে ইমেইল যোগ করা:

> db.demo526.updateOne(
    {
        _id:ObjectId("5e8af031437efc8605595b6b"),
        "StudentInformation": { "$elemMatch": { "Name": "David", "Subject": "MongoDB" }}
    },
    {
        "$push": { "StudentInformation.$.ListOfMailId": { "MailId": "David@gmail.com" }}
    }
)
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }

আপডেটের পর ডকুমেন্ট দেখান:

> db.demo526.find();

আউটপুট:

ব্যাখ্যা: $elemMatch অ্যারেতে শর্ত পূরণকারী সাব-ডকুমেন্ট খুঁজে বের করে। পজিশনাল $ অপারেটর সেই ম্যাচ করা এলিমেন্টকে পয়েন্ট করে। $push নতুন অবজেক্ট অ্যেন্ড করে। একাধিক ভ্যালু যোগ করতে $each ব্যবহার করুন।

  1. MongoDB-এ $elemMatch দিয়ে নেস্টেড অ্যারে ফিল্ড কোয়ারি করা

  2. MongoDB-এ $all অপারেটর ব্যবহার করে অ্যারে মিলানো

  3. MongoDB-এ অ্যারে আইটেম গণনা করার পদ্ধতি

  4. MongoDB-এ $push অপারেটর ব্যবহার করে অ্যারে আপডেট করা