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

MongoDB-এ $and ও $or কম্বাইন করে নেস্টেড সার্চ করা

MongoDB-এ $and ও $or কম্বাইন করে জটিল নেস্টেড শর্তে কোয়ারি

একাধিক শর্ত একসাথে পূরণ করতে $and, এবং उनमें যেকোনো একটি পূরণ করলে $or ব্যবহার করা হয়। এই দুটো কম্বাইন করে জটিল লজিক বাস্তবায়ন করা যায়।

উদাহরণ: ডেটা ইনসার্ট

> db.demo12.insertOne({"Name":"Chris","Age":23,"CountryName":"US","Message":"Hello"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0f70a2d7df943a7cec4fa2") }
> db.demo152.insertOne({"Name":"David","Age":21,"CountryName":"US","Message":"Hello"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0f70acd7df943a7cec4fa3") }
> db.demo12.insertOne({"Name":"Bob","Age":23,"CountryName":"AUS","Message":"Hi"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0f70bad7df943a7cec4fa4") }
> db.demo12.insertOne({"Name":"Carol","Age":24,"CountryName":"US","Message":"Hi"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0f70c7d7df943a7cec4fa5") }

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

> db.demo12.find();

আউটপুট:

{ "_id" : ObjectId("5e0f70a2d7df943a7cec4fa2"), "Name" : "Chris", "Age" : 23, "CountryName" : "US", "Message" : "Hello" }
{ "_id" : ObjectId("5e0f70acd7df943a7cec4fa3"), "Name" : "David", "Age" : 21, "CountryName" : "US", "Message" : "Hello" }
{ "_id" : ObjectId("5e0f70bad7df943a7cec4fa4"), "Name" : "Bob", "Age" : 23, "CountryName" : "AUS", "Message" : "Hi" }
{ "_id" : ObjectId("5e0f70c7d7df943a7cec4fa5"), "Name" : "Carol", "Age" : 24, "CountryName" : "US", "Message" : "Hi" }

নেস্টেড সার্চ কোয়ারি (Name=Bob AND Age=23 AND (CountryName=UK OR Message=Hi))

> db.demo12.find({ $and : [ { Name : 'Bob' }, { Age : 23 }, { $or : [ { CountryName : 'UK' }, { Message : 'Hi' } ] } ] } );

আউটপুট:

{ "_id" : ObjectId("5e0f70bad7df943a7cec4fa4"), "Name" : "Bob", "Age" : 23, "CountryName" : "AUS", "Message" : "Hi" }

ব্যাখ্যা

  • $and — সব শর্ত পূরণ করতে হবে।
  • $or — বন্ধনীর ভেতরের যেকোনো একটি পূরণ করলেই চলবে।
  • Bob-এর CountryName "AUS" (UK নয়), কিন্তু Message "Hi" — তাই $or সত্য, পুরো $and সত্য।
  • নোট: টপ-লেভেলে কমা-সেপারেটেড শর্তগুলো ইমপ্লিসিটলি $and হয়। অর্থাৎ {Name:'Bob', Age:23, $or:[...]} লিখলেই চলে। স্পষ্ট $and তখন লাগে যখন একই ফিল্ডে একাধিক শর্ত দরকার (যেমন {$and: [{price:{$gt:10}}, {price:{$lt:20}}]})।
  1. MongoDB-এ নেস্টেড অ্যারে অ্যাগ্রিগেট করার পদ্ধতি

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

  3. MongoDB-তে নেস্টেড ডকুমেন্ট খোঁজা (Dot Notation)

  4. MongoDB-তে নেস্টেড ডকুমেন্ট আপডেট করা (ডট নোটেশন + পজিশনাল $)