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

MongoDB-এ $elemMatch ছাড়া অ্যারেতে সঠিক ম্যাচ (Exact Match) করার পদ্ধতি

MongoDB-এ অ্যারে ফিল্ডে হুবহু নির্দিষ্ট মান এবং সিকোয়েন্স থাকা ডকুমেন্ট বের করতে $eq অপারেটর ব্যবহার করুন।

উদাহরণ

বিভিন্ন অ্যারে সহ ডকুমেন্ট তৈরি করুন:

> db.equalDemo.insertOne({ _id: 1, "StudentFriendNames": ["John", "Carol", "Sam"] });
{ "acknowledged" : true, "insertedId" : 1 }

> db.equalDemo.insertOne({ _id: 2, "StudentFriendNames": null });
{ "acknowledged" : true, "insertedId" : 2 }

> db.equalDemo.insertOne({ _id: 3, "StudentFriendNames": ["Carol"] });
{ "acknowledged" : true, "insertedId" : 3 }

> db.equalDemo.insertOne({ _id: 4, "StudentFriendNames": ["Sam"] });
{ "acknowledged" : true, "insertedId" : 4 }

সকল ডকুমেন্ট দেখুন:

> db.equalDemo.find();

আউটপুট:

{ "_id" : 1, "StudentFriendNames" : [ "John", "Carol", "Sam" ] }
{ "_id" : 2, "StudentFriendNames" : null }
{ "_id" : 3, "StudentFriendNames" : [ "Carol" ] }
{ "_id" : 4, "StudentFriendNames" : [ "Sam" ] }

হুবহু ["Carol"] অ্যারেটি থাকা ডকুমেন্ট বের করা

> db.equalDemo.find({ "StudentFriendNames": { $eq: ["Carol"] } });

আউটপুট:

{ "_id" : 3, "StudentFriendNames" : [ "Carol" ] }

ব্যাখ্যা:

  • $eq: ["Carol"] — অ্যারেটি হুবহু ["Carol"] হলে ম্যাচ করে।
  • _id: 1 — ["John", "Carol", "Sam"] আলাদা, তাই ম্যাচ নয়।
  • _id: 2 — null, অ্যারে নয়, তাই ম্যাচ নয়।
  • _id: 4 — ["Sam"] আলাদা, তাই ম্যাচ নয়।

সরাসরি সিনট্যাক্স (বिना $eq):

db.equalDemo.find({ "StudentFriendNames": ["Carol"] });

এটিও একই ফলাফল দেবে। $eq স্পষ্টতা বা জটিল এক্সপ্রেশনে ব্যবহারী।

তুলনা: { "StudentFriendNames": "Carol" } — এটি অ্যারেতে "Carol" থাকা সব ডকুমেন্ট দেবে (partial match), $eq দিয়ে exact array match হয়।

  1. C++-এ মডুলো (% অপারেটর) ব্যবহার না করে ভাগশেষ (Remainder) বের করার প্রোগ্রাম

  2. সি++ প্রোগ্রাম: কন্ডিশনাল অপারেটর ছাড়া অ্যারেতে সর্বোচ্চ উপাদান নির্ণয়

  3. C++ ব্যবহার করে অ্যারেতে একটি সংখ্যার ফ্রিকোয়েন্সি বের করা

  4. C#-এ sizeof ব্যবহার না করে ভেরিয়েবল সাইজ বের করা