MongoDB-এ $inc অপারেটর শর্তসাপেক্ষভাবে প্রয়োগ করতে update()-এর কোয়েরি অংশে শর্ত দিয়ে করা যায়। নিচে স্কোর ৭৫-এর নিচে থাকা ডকুমেন্টগুলোতে ১০ বাড়ানো হয়েছে।
নমুনা ডেটা তৈরি
> db.limitIncrementDemo.insertOne({"StudentId":101,"StudentScore":95});
{ "acknowledged": true, "insertedId": ObjectId("5cd2ce9eb64f4b851c3a13c3") }
> db.limitIncrementDemo.insertOne({"StudentId":102,"StudentScore":55});
{ "acknowledged": true, "insertedId": ObjectId("5cd2cea0b64f4b851c3a13c4") }
> db.limitIncrementDemo.insertOne({"StudentId":103,"StudentScore":67});
{ "acknowledged": true, "insertedId": ObjectId("5cd2cea1b64f4b851c3a13c5") }
> db.limitIncrementDemo.insertOne({"StudentId":104,"StudentScore":56});
{ "acknowledged": true, "insertedId": ObjectId("5cd2cea3b64f4b851c3a13c6") }
> db.limitIncrementDemo.insertOne({"StudentId":105,"StudentScore":79});
{ "acknowledged": true, "insertedId": ObjectId("5cd2cea4b64f4b851c3a13c7") }
সব ডকুমেন্ট দেখুন
> db.limitIncrementDemo.find().pretty();আউটপুট:
{
"_id": ObjectId("5cd2ce9eb64f4b851c3a13c3"),
"StudentId": 101,
"StudentScore": 95
}
{
"_id": ObjectId("5cd2cea0b64f4b851c3a13c4"),
"StudentId": 102,
"StudentScore": 55
}
{
"_id": ObjectId("5cd2cea1b64f4b851c3a13c5"),
"StudentId": 103,
"StudentScore": 67
}
{
"_id": ObjectId("5cd2cea3b64f4b851c3a13c6"),
"StudentId": 104,
"StudentScore": 56
}
{
"_id": ObjectId("5cd2cea4b64f4b851c3a13c7"),
"StudentId": 105,
"StudentScore": 79
}
শর্তসাপেক্ষ ইনক্রিমেন্ট: StudentScore < 75 হলে 10 বাড়াও
multi: true (৪র্থ প্যারামিটার) দিয়ে সব মэтচ হওয়া ডকুমেন্ট আপডেট হয়।
> db.limitIncrementDemo.update(
{StudentScore: {$lt: 75}},
{$inc: {StudentScore: 10}},
false, // upsert: false
true // multi: true
);
WriteResult({ "nMatched": 3, "nUpserted": 0, "nModified": 3 })
আপডেট হওয়া ডকুমেন্ট যাচাই করুন
> db.limitIncrementDemo.find().pretty();আউটপুট (১০২, ১০৩, ১০৪ নম্বর আইডির স্কোর ১০ বাড়েছে):
{
"_id": ObjectId("5cd2ce9eb64f4b851c3a13c3"),
"StudentId": 101,
"StudentScore": 95
}
{
"_id": ObjectId("5cd2cea0b64f4b851c3a13c4"),
"StudentId": 102,
"StudentScore": 65
}
{
"_id": ObjectId("5cd2cea1b64f4b851c3a13c5"),
"StudentId": 103,
"StudentScore": 77
}
{
"_id": ObjectId("5cd2cea3b64f4b851c3a13c6"),
"StudentId": 104,
"StudentScore": 66
}
{
"_id": ObjectId("5cd2cea4b64f4b851c3a13c7"),
"StudentId": 105,
"StudentScore": 79
}
নোট: আধুনিক MongoDB-এ updateMany({StudentScore: {$lt: 75}}, {$inc: {StudentScore: 10}}) ব্যবহার করুন।