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

MongoDB-এ আপসার্ট (upsert) দিয়ে কোয়েরি ও আপডেট কম্বাইন করা

MongoDB-এ upsert: true অপশন দিয়ে আপডেট করার সময় যদি ডকুমেন্ট না থাকে, তবে নতুন ডকুমেন্ট তৈরি হয়। এতে $set অপারেটর ব্যবহার করে নির্দিষ্ট ফিল্ড আপডেট করা যায়।

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

> db.updateWithUpsertDemo.insertOne({"StudentFirstName":"John","StudentAge":21});
{ "acknowledged": true, "insertedId": ObjectId("5cd2a61c345990cee87fd890") }
> db.updateWithUpsertDemo.insertOne({"StudentFirstName":"Larry","StudentAge":23});
{ "acknowledged": true, "insertedId": ObjectId("5cd2a624345990cee87fd891") }
> db.updateWithUpsertDemo.insertOne({"StudentFirstName":"David","StudentAge":24});
{ "acknowledged": true, "insertedId": ObjectId("5cd2a62c345990cee87fd892") }

সব ডকুমেন্ট দেখুন

> db.updateWithUpsertDemo.find().pretty();
আউটপুট:
{
  "_id": ObjectId("5cd2a61c345990cee87fd890"),
  "StudentFirstName": "John",
  "StudentAge": 21
}
{
  "_id": ObjectId("5cd2a624345990cee87fd891"),
  "StudentFirstName": "Larry",
  "StudentAge": 23
}
{
  "_id": ObjectId("5cd2a62c345990cee87fd892"),
  "StudentFirstName": "David",
  "StudentAge": 24
}

Upsert সহ আপডেট কোয়েরি

Larry-এর নাম Chris-এ পরিবর্তন করা হচ্ছে। যদি ডকুমেন্ট না থাকে, তবে নতুন তৈরি হবে:

> db.updateWithUpsertDemo.update(
  {_id: ObjectId("5cd2a624345990cee87fd891")},
  {"$set": {"StudentFirstName": "Chris"}},
  {upsert: true}
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })

আপডেট হওয়া ডকুমেন্ট যাচাই করুন

> db.updateWithUpsertDemo.find().pretty();
আউটপুট (Larry এখন Chris):
{
  "_id": ObjectId("5cd2a61c345990cee87fd890"),
  "StudentFirstName": "John",
  "StudentAge": 21
}
{
  "_id": ObjectId("5cd2a624345990cee87fd891"),
  "StudentFirstName": "Chris",
  "StudentAge": 23
}
{
  "_id": ObjectId("5cd2a62c345990cee87fd892"),
  "StudentFirstName": "David",
  "StudentAge": 24
}

মূল বিষয়: upsert: true সেট করলে মэтচ না হলে নতুন ডকুমেন্ট ইনসার্ট হয়, এবং $set দিয়ে শুধু নির্দিষ্ট ফিল্ড আপডেট হয়।

  1. MongoDB-তে অনডিফাইনড এবং এক্সাক্ট ডকুমেন্ট রেকর্ড প্রদর্শন

  2. MongoDB-তে ডকুমেন্ট এবং সাব-ডকুমেন্ট উদাহরণ ও আপডেট

  3. MongoDB-তে নেস্টেড ডকুমেন্ট আপডেট করা (ডট নোটেশন + পজিশনাল $)

  4. MongoDB-তে ডট নোটেশন ব্যবহার করে নেস্টেড ডকুমেন্ট আপডেট করা