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 হয়।