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

MongoDB-এ এমবেডেড ডকুমেন্ট অ্যারেতে $push দিয়ে নতুন উপাদান যোগ করা

MongoDB-এ এমবেডেড অ্যারেতে ডকুমেন্ট পুশ করা

যদি কোনো ফিল্ডে অবজেক্টের অ্যারে থাকে (এমবেডেড ডকুমেন্ট অ্যারে), তবে $push অপারেটর দিয়ে সেখানে নতুন অবজেক্ট যোগ করা যায়। এটি update() বা updateOne() এর সাথে ব্যবহার হয়।

উদাহরণ: ডেটা ইনসার্ট

> db.demo288.insertOne({"Name":"Chris","details":[{"CountryName":"US","Marks":78},{"CountryName":"UK","Marks":68}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4c0393f49383b52759cbbe") }

প্রদর্শন

> db.demo288.find();

আউটপুট:

{ "_id" : ObjectId("5e4c0393f49383b52759cbbe"), "Name" : "Chris", "details" : [ { "CountryName" : "US", "Marks" : 78 }, { "CountryName" : "UK", "Marks" : 68 } ] }

$push দিয়ে নতুন ডকুমেন্ট যোগ

> db.demo288.update( {Name: "Chris"}, {$push:{ "details":{"CountryName" : "AUS", "Marks" : 98} }}, {upsert:true});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

আপডেট পর পরিদর্শন

> db.demo288.find();

আউটপুট:

{ "_id" : ObjectId("5e4c0393f49383b52759cbbe"), "Name" : "Chris", "details" : [ { "CountryName" : "US", "Marks" : 78 }, { "CountryName" : "UK", "Marks" : 68 }, { "CountryName" : "AUS", "Marks" : 98 } ] }

ব্যাখ্যা

  • {Name: "Chris"} — ফিল্টার: কোন ডকুমেন্ট আপডেট হবে।
  • {$push: {"details": {...}}} — details অ্যারেতে নতুন অবজেক্ট যুক্ত করে।
  • {upsert:true} — ফিল্টার মিলে না গেলে নতুন ডকুমেন্ট তৈরি করবে (এখানে মেলা গেলে আপডেট হলো)।

নোট: বর্তমান ভার্সনে update() ডিপ্রিকেটেড। updateOne() বা updateMany() ব্যবহার করুন।

  1. MongoDB-এ অ্যারেতে $in অপারেটর ইমপ্লিমেন্ট করা

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

  3. MongoDB-এ অ্যারে ম্যাচের জন্য $all অপারেটর ব্যবহার করা

  4. MongoDB-এ এমবেডেড ডকুমেন্টের অ্যারে ফিল্টার করা (৩ লেভেল)