MongoDB-এ $or অপারেটর ব্যবহার করে একাধিক শর্ত মিলানো
$or অপারেটর দিয়ে একাধিক শর্তের যেকোনো একটি পূরণ করা ডকুমেন্ট বের করা যায়। ফলাফল সুন্দরভাবে দেখাতে .pretty() ব্যবহার করা হয়।
উদাহরণ: ডেটা ইনসার্ট
> db.demo304.insertOne({"StudentName":"Chris","StudentAge":23});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea3ccf8647eb59e562034") }
> db.demo304.insertOne({"StudentName":"David","StudentAge":22});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea3d7f8647eb59e562035") }
> db.demo304.insertOne({"StudentName":"Mike","StudentAge":24});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea3e2f8647eb59e562036") }
> db.demo304.insertOne({"StudentName":"Carol","StudentAge":22});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4ea3eef8647eb59e562037") }
সব ডকুমেন্ট দেখানো
> db.demo304.find();
আউটপুট:
{ "_id" : ObjectId("5e4ea3ccf8647eb59e562034"), "StudentName" : "Chris", "StudentAge" : 23 }
{ "_id" : ObjectId("5e4ea3d7f8647eb59e562035"), "StudentName" : "David", "StudentAge" : 22 }
{ "_id" : ObjectId("5e4ea3e2f8647eb59e562036"), "StudentName" : "Mike", "StudentAge" : 24 }
{ "_id" : ObjectId("5e4ea3eef8647eb59e562037"), "StudentName" : "Carol", "StudentAge" : 22 }
$or দিয়ে কোয়ারি (StudentName "David" HOBO StudentAge 22)
> db.demo304.find({ $or: [{ "StudentName": "David" }, { "StudentAge":22} ] } ).pretty();
আউটপুট:
{ "_id" : ObjectId("5e4ea3d7f8647eb59e562035"), "StudentName" : "David", "StudentAge" : 22 }
{ "_id" : ObjectId("5e4ea3eef8647eb59e562037"), "StudentName" : "Carol", "StudentAge" : 22 }
ব্যাখ্যা
$or: [{...}, {...}]— যেকোনো একটি শর্ত সত্য হলে ডকুমেন্ট মিলবে।- David ২২ বছর, তাই সে দুটি শর্তেই মেলে (ডুপ্লিকেট এড়াতে MongoDB স্বয়ংক্রিয় হ্যান্ডেল করে)।
- Carol শুধু বয়স ২২-এ মেলে।
.pretty()— আউটপুট ইন্ডেন্টেড ফরম্যাটে দেখায়।
নোট: $or-এ প্রতিটি শর্ত আলাদা অবজেক্ট হিসেবে দিতে হয়। একই ফিল্ডে একাধিক মান চেক করলে $in দ্রুত ও পঠনীয়।