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

MongoDB-এ ফার্স্ট-লেভেল অ্যারেতে $elemMatch বদলে $in ব্যবহার করা

MongoDB-এ ফার্স্ট-লেভেল (সিম্পল) অ্যারেতে মান খোঁজার জন্য $elemMatch প্রয়োজন নয়, সরাসরি $in বা ফিল্ড নাম দিয়ে খোঁজা যায়।

সিনট্যাক্স


ডেমো কলেকশন তৈরি


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

{ "_id" : ObjectId("5ca2360f66324ffac2a7dc71"), "StudentName" : "Chris", "StudentTechnicalSkills" : [ "MongoDB", "MySQL", "SQL Server" ] } 
{ "_id" : ObjectId("5ca2362766324ffac2a7dc72"), "StudentName" : "Robert", "StudentTechnicalSkills" : [ "C", "Java", "C++" ] }

"MongoDB" স্কিল থাকা ডকুমেন্ট খোঁজা ($in)


আউটপুট


সিম্পল কোয়েরি (একই ফলাফল - আরও সহজ)


তুলনা: কখন কী ব্যবহার করবেন

অ্যারে টাইপকোয়েরিঅপারেটর
সিম্পল ভ্যালু অ্যারে (স্ট্রিং/নাম্বার){field: "value"}সহজতর, স্ট্যান্ডার্ড
সিম্পল অ্যারে, একাধিক মান (OR){field: {$in: ["A", "B"]}}$in
অবজেক্ট অ্যারে, একাধিক শর্ত (AND){field: {$elemMatch: {a:1, b:2}}}$elemMatch (বাধ্যতামূলক)
অবজেক্ট অ্যারে, একক শর্ত{"field.a": 1}ডট নোটেশন

$elemMatch এর প্রয়োজনীয়তা

 85 উভয় মিলে (একই অবজেক্টে)
db.collection.find({ scores: { $elemMatch: { subject: "Math", score: { $gt: 85 } } } })

নোট

  • সিম্পল অ্যারেতে $elemMatch অপ্রয়োজনীয় ওভারহেড যোগ করে
  • MongoDB অটোমেটিক্যালি সিম্পল অ্যারে মান ম্যাচ করে
  • $in ব্যবহার করুন একাধিক মান OR শর্তের জন্য
  1. MongoDB-এ save() মেথডের সঠিক ব্যবহার

  2. MongoDB-এ $type অপারেটর ব্যবহার করে টাইপ ভিত্তিক কোয়েরি

  3. MongoDB-তে অবজেক্টের অ্যারে অনুসন্ধান করা

  4. MongoDB-এ অ্যারে থেকে এলিমেন্ট মুছে ফেলা ($pull অপারেটর)