MongoDB-এ $or অপারেটর ব্যবহার করে একাধিক এক্সপ্রেশন যেকোনো একটি সত্য হলে ডকুমেন্ট রিটার্ন করা যায়।
সিনট্যাক্স
db.yourCollectionName.find({ $or: [{ "yourFieldName": yourValue1 }, { "yourFieldName": yourValue2 } ] }).pretty();
নমুনা ডেটা তৈরি করা
orOperatorDemo কালেকশনে তিনটি ডকুমেন্ট ইনসার্ট করি যাতে StudentNames অ্যারে থাকে।
> db.orOperatorDemo.insertOne({"StudentNames":["John","Carol","Sam"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd6b80a6d78f205348bc61b") }
> db.orOperatorDemo.insertOne({"StudentNames":["Robert","Chris","David"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd6b8266d78f205348bc61c") }
> db.orOperatorDemo.insertOne({"StudentNames":["John"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd6b8346d78f205348bc61d") }
সকল ডকুমেন্ট দেখানো
> db.orOperatorDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd6b80a6d78f205348bc61b"), "StudentNames" : [ "John", "Carol", "Sam" ] }
{ "_id" : ObjectId("5cd6b8266d78f205348bc61c"), "StudentNames" : [ "Robert", "Chris", "David" ] }
{ "_id" : ObjectId("5cd6b8346d78f205348bc61d"), "StudentNames" : [ "John" ] }
$or দিয়ে খোঁজা
StudentNames অ্যারেতে "Carol" অথবা "John" আছে এমন ডকুমেন্ট:
> db.orOperatorDemo.find({ $or: [{ "StudentNames": "Carol" }, { "StudentNames": "John" } ] }).pretty();
আউটপুট:
{ "_id" : ObjectId("5cd6b80a6d78f205348bc61b"), "StudentNames" : [ "John", "Carol", "Sam" ] }
{ "_id" : ObjectId("5cd6b8346d78f205348bc61d"), "StudentNames" : [ "John" ] }
ব্যাখ্যা: প্রথম ডকুমেন্টে "Carol" এবং "John" দুটোই আছে, তৃতীয়টিতে "John" আছে। দ্বিতীয় ডকুমেন্টে কোথাও নেই, তাই বাদ পড়েছে। $or অ্যারেতে যেকোনো একটি মান মেললে মেলে ধরে।