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

MongoDB-এ OR শর্ত দিয়ে একাধিক ডকুমেন্ট বের করা ($or অপারেটর)


MongoDB-এ $or অপারেটর ব্যবহার করে একাধিক শর্তে যেকোনো একটি পূরণকারী ডকুমেন্ট খুঁজে বের করা

MongoDB-এ একাধিক শর্ত দিয়ে কোয়েরি করার সময়, যদি শর্তগুলোর যেকোনো একটি পূরণ হলে ডকুমেন্ট ফেরত দিতে হয়, তবে $or অপারেটর ব্যবহার করা হয়। এটি লজিক্যাল OR অপারেশন করে।

১. কালেকশন ও ক্লায়েন্ট ডেটা তৈরি

> db.demo362.insertOne({"ClientName":"John","ClientProject":"School Management System"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e56a77454a481fef8ec7a1c") }
> db.demo362.insertOne({"ClientName":"David","ClientProject":"Library Management System"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e56a78454a481fef8ec7a1d") }
> db.demo362.insertOne({"ClientName":"Mike","ClientProject":"Event Tracker"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e56a7a054a481fef8ec7a1e") }
> db.demo362.insertOne({"ClientName":"Carol","ClientProject":"Hospital Management System"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e56a7b754a481fef8ec7a1f") }

২. সব ডকুমেন্ট দেখানো

> db.demo362.find();

আউটপুট:

{ "_id" : ObjectId("5e56a77454a481fef8ec7a1c"), "ClientName" : "John", "ClientProject" : "School Management System" }
{ "_id" : ObjectId("5e56a78454a481fef8ec7a1d"), "ClientName" : "David", "ClientProject" : "Library Management System" }
{ "_id" : ObjectId("5e56a7a054a481fef8ec7a1e"), "ClientName" : "Mike", "ClientProject" : "Event Tracker" }
{ "_id" : ObjectId("5e56a7b754a481fef8ec7a1f"), "ClientName" : "Carol", "ClientProject" : "Hospital Management System" }

৩. $or কোয়েরি: ClientName "John" HOBO ClientProject "Event Tracker"

> db.demo362.find({$or: [{"ClientName":"John"}, {"ClientProject": "Event Tracker"}]})

৪. ফলাফল

{ "_id" : ObjectId("5e56a77454a481fef8ec7a1c"), "ClientName" : "John", "ClientProject" : "School Management System" }
{ "_id" : ObjectId("5e56a7a054a481fef8ec7a1e"), "ClientName" : "Mike", "ClientProject" : "Event Tracker" }

ব্যাখ্যা:

  • প্রথম ডকুমেন্ট: ClientName "John" মিলে (Project মিললেও হবে, না মিললেও হবে)।
  • তৃতীয় ডকুমেন্ট: ClientProject "Event Tracker" মিলে (Name "Mike" হলেও চলে)।
  • দ্বিতীয় এবং চতুর্থ ডকুমেন্ট: দুটি শর্তই মেলেনি।

নোট: $or-এ প্রতিটি শর্ত আলাদা অবজেক্ট হিসেবে অ্যারে-তে থাকে। ইন্ডেক্স ব্যবহার অপ্টিমাইজেশনের জন্য প্রতিটি শর্তে ইন্ডেক্স থাকা ভালো।


  1. MongoDB-এ নেস্টেড অ্যারে সর্ট করা

  2. MongoDB ডকুমেন্টের নির্দিষ্ট ফিল্ড থেকে অ্যারে এলিমেন্ট কাউন্ট করা

  3. MongoDB-এ অবজেক্টের অ্যারে থেকে নেস্টেড ডকুমেন্ট কোয়েরি করা ($elemMatch)

  4. MongoDB-এ অ্যারে কোয়েরি করে নির্দিষ্ট ভ্যালু ফেচ করা