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

MongoDB-তে নেস্টেড অ্যারে ভিতরের সার্ভার স্ট্যাটাস আপডেট করে INACTIVE করা

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

উদাহরণ: সার্ভার ইনফরমেশন সহ ডকুমেন্ট তৈরি

> db.demo707.insertOne({
    id: 101,
    "serverInformation": [
        { "IP": "192.56.34.3", "Status": "Active" },
        { "IP": "192.56.36.4", "Status": "Inactive" }
    ]
});

আপডেট করার আগে ডেটা দেখা

> db.demo707.find();

আউটপুট:

{ "_id" : ..., "id" : 101, "serverInformation" : [
    { "IP" : "192.56.34.3", "Status" : "Active" },
    { "IP" : "192.56.36.4", "Status" : "Inactive" }
] }

নির্দিষ্ট IP-এর স্ট্যাটাস INACTIVE করা

$set এবং পজিশনাল $ অপারেটর ব্যবহার করে:

> db.demo707.update(
    { "serverInformation.IP": "192.56.34.3" },
    { $set: { "serverInformation.$.Status": "Inactive" } }
);

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

আপডেটের পর ডেটা যাচাই

> db.demo707.find();

আউটপুট:

{ "_id" : ..., "id" : 101, "serverInformation" : [
    { "IP" : "192.56.34.3", "Status" : "Inactive" },
    { "IP" : "192.56.36.4", "Status" : "Inactive" }
] }

মূল পয়েন্ট: serverInformation.$.Status-এ $ চিহ্নটি কোয়েরিতে ম্যাচ করা অ্যারে এলিমেন্টকে (এখানে প্রথমটি) নির্দেশ করে।

  1. MongoDB-এ অ্যারে বিশিষ্ট এক রেকর্ডকে একাধিক রেকর্ডে রূপান্তর করা (নতুন কালেকশনে)

  2. MongoDB-এ জন্ম তারিখ থেকে বয়স ক্যালকুলেট করা

  3. Node.js-এ MongoDB কানেক্ট করা (mongodb.connect)

  4. MySQL-এ ENUM সেট করা স্ট্যাটাস কলাম থেকে ACTIVE রেকর্ড বের করা