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

MongoDB-এ সঠিক মিলান (Exact Match) করার কোয়ারি

MongoDB-এ সঠিক মিলান (Exact Match) কীভাবে করবেন

MongoDB-এ কোনো ফিল্ডের মান স্ট্রিং নাকি অ্যারে—দুইরূপে থাকতে পারে। সেক্ষেত্রে শুধুমাত্র স্ট্রিং মানযুক্ত ডকুমেন্টগুলো বের করতে হলে $exists এবং $and অপারেটর ব্যবহার করতে হয়।

উদাহরণ: কালেকশন তৈরি ও ডেটা ইনসার্ট

> db.demo290.insertOne({"ListOfName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4c0c9e5d93261e4bc9ea2d") }
> db.demo290.insertOne({"ListOfName":["Chris","David"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4c0cb05d93261e4bc9ea2e") }

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

> db.demo290.find();

আউটপুট:

{ "_id" : ObjectId("5e4c0c9e5d93261e4bc9ea2d"), "ListOfName" : "Chris" }
{ "_id" : ObjectId("5e4c0cb05d93261e4bc9ea2e"), "ListOfName" : [ "Chris", "David" ] }

সঠিক মিলানের কোয়ারি

শুধু স্ট্রিং হিসেবে "Chris" থাকা ডকুমেন্ট বের করতে:

> db.demo290.find({$and: [{'ListOfName.0': {$exists: false}}, {"ListOfName": 'Chris'}]});

আউটপুট:

{ "_id" : ObjectId("5e4c0c9e5d93261e4bc9ea2d"), "ListOfName" : "Chris" }

ব্যাখ্যা

  • {'ListOfName.0': {$exists: false}} — এই শর্তটি নিশ্চিত করে যে ListOfName একটি অ্যারে নয় (অর্থাৎ ০ নম্বর ইন্ডেক্স আছে না)।
  • {"ListOfName": 'Chris'} — এই শর্তটি মান "Chris" খুঁজে বের করে।
  • $and — দুটি শর্ত একসাথে পূরণ করতে হয়।

এই পদ্ধতিতে আপনি মিশ্র ডেটা টাইপ থাকা ফিল্ড থেকে শুধু নির্দিষ্ট টাইপের মান বের করতে পারেন।

  1. MongoDB Aggregation-এ সমষ্টিগতভাবে ইন্টারসেকশন মিলিয়ে ডকুমেন্ট ফিল্টার করা

  2. MongoDB-তে একাধিক ডকুমেন্ট ফিল্ডে একজ্যাক্ট ম্যাচ কোয়ারি

  3. MongoDB-এ অ্যারেতে $in অপারেটর ইমপ্লিমেন্ট করা

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