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

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

MongoDB-এ update() ও $push ব্যবহার করে এমবেডেড অ্যারেতে ডকুমেন্ট পুশ

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

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

> db.demo310.insertOne({"Name":"Chris","details":[{"Id":101,"Subject":"MySQL"},{"Id":102,"Subject":"MongoDB"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e50cabdf8647eb59e562043") }

প্রদর্শন

> db.demo310.find();

আউটপুট:

{ "_id" : ObjectId("5e50cabdf8647eb59e562043"), "Name" : "Chris", "details" : [ { "Id" : 101, "Subject" : "MySQL" }, { "Id" : 102, "Subject" : "MongoDB" } ] }

$push দিয়ে নতুন ডকুমেন্ট যোগ (Id:103, Subject:"Java")

> db.demo310.update({ _id:ObjectId("5e50cabdf8647eb59e562043")}, { $push: {"details": { "Id" : 103, "Subject": "Java" } } });
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo310.find();

আউটপুট:

{ "_id" : ObjectId("5e50cabdf8647eb59e562043"), "Name" : "Chris", "details" : [ { "Id" : 101, "Subject" : "MySQL" }, { "Id" : 102, "Subject" : "MongoDB" }, { "Id" : 103, "Subject" : "Java" } ] }

ব্যাখ্যা

  • {_id:ObjectId(...)} — সুনির্দিষ্ট ডকুমেন্ট টার্গেট করতে _id ব্যবহার করা ভালো।
  • {$push: {"details": {...}}} — details অ্যারেতে নতুন অবজেক্ট যুক্ত করে।
  • অপশনাল: {$push: {"details": {$each: [...], $slice: -5}}} দিয়ে একসাথে একাধিক পুশ বা সাইজ লিমিট রাখা যায়।

সুপারিশ: update() বদলে updateOne() ব্যবহার করুন।

  1. MongoDB-তে অ্যারের ভেতরের এমবেডেড ডকুমেন্টে নতুন ফিল্ড যোগ করা

  2. MongoDB-তে অ্যারে প্রোপার্টিতে মান আছে কিনা চেক করা ($in ব্যবহার করে)

  3. MongoDB ডকুমেন্ট থেকে অ্যারে এলিমেন্ট কিভাবে মুছবেন?

  4. MongoDB কোয়ারী: আইডি যদি ডকুমেন্ট ফিল্ড অ্যারে মানের সমান হয় তবে বাদ দেওয়া