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

MongoDB-এ ফিল্ড অনুপস্থিত থাকলে মাত্র সেট করা ($exists: false + $set + multi)

MongoDB-এ কোনো ফিল্ড ডকুমেন্টে না থাকলে মাত্র সেট করতে $exists: false কোয়েরি এবং $set আপডেট ব্যবহার করা হয়, multi: true দিয়ে সব মэтচিং ডকুমেন্ট আপডেট হয়।

নমুনা ডেটা তৈরি (StudentAge কিছুতে আছে, কিছুতে নেই)

> db.missingDocumentDemo.insertOne({"StudentFirstName":"Adam","StudentLastName":"Smith"});
{ "acknowledged": true, "insertedId": ObjectId("5cd3fb1eedc6604c74817ce6") }
> db.missingDocumentDemo.insertOne({"StudentFirstName":"Carol","StudentLastName":"Taylor"});
{ "acknowledged": true, "insertedId": ObjectId("5cd3fb29edc6604c74817ce7") }
> db.missingDocumentDemo.insertOne({"StudentFirstName":"David","StudentLastName":"Miller","StudentAge":21});
{ "acknowledged": true, "insertedId": ObjectId("5cd3fb40edc6604c74817ce8") }

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

> db.missingDocumentDemo.find().pretty();
আউটপুট:
{
  "_id": ObjectId("5cd3fb1eedc6604c74817ce6"),
  "StudentFirstName": "Adam",
  "StudentLastName": "Smith"
}
{
  "_id": ObjectId("5cd3fb29edc6604c74817ce7"),
  "StudentFirstName": "Carol",
  "StudentLastName": "Taylor"
}
{
  "_id": ObjectId("5cd3fb40edc6604c74817ce8"),
  "StudentFirstName": "David",
  "StudentLastName": "Miller",
  "StudentAge": 21
}

StudentAge ফিল্ড নেই এমন ডকুমেন্টগুলোতে StudentAge: 23 সেট করা (multi: true)

> db.missingDocumentDemo.update(
  { "StudentAge": { "$exists": false } },
  { "$set": { "StudentAge": 23 } },
  { "multi": true }
);
WriteResult({ "nMatched": 2, "nUpserted": 0, "nModified": 2 })

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

> db.missingDocumentDemo.find().pretty();
আউটপুট (Adam এবং Carol-এ StudentAge 23 যুক্ত হয়েছে, David-এর 21 অপরিবর্তিত):
{
  "_id": ObjectId("5cd3fb1eedc6604c74817ce6"),
  "StudentFirstName": "Adam",
  "StudentLastName": "Smith",
  "StudentAge": 23
}
{
  "_id": ObjectId("5cd3fb29edc6604c74817ce7"),
  "StudentFirstName": "Carol",
  "StudentLastName": "Taylor",
  "StudentAge": 23
}
{
  "_id": ObjectId("5cd3fb40edc6604c74817ce8"),
  "StudentFirstName": "David",
  "StudentLastName": "Miller",
  "StudentAge": 21
}

নোট: আধুনিক MongoDB-এ updateMany({StudentAge: {$exists: false}}, {$set: {StudentAge: 23}}) ব্যবহার করুন। এটি উপস্থিত ফিল্ড ওভাররাইট করে না।

  1. MongoDB-এ শুধুমাত্র একটি ডকুমেন্ট আপডেট করার পদ্ধতি

  2. MongoDB-এ remove() দিয়ে একক ডকুমেন্ট মুছে ফেলা

  3. MongoDB-তে কন্ডিশনাল আপসার্ট (মাল্টিপল ইনসার্ট) ডকুমেন্ট আপডেট করার সময়

  4. MongoDB-এ নির্দিষ্ট ডকুমেন্টের ফিল্ড ইনক্রিমেন্ট করা ($inc অপারেটর)