MongoDB $match In Hindi | $match Operator In MongoDB In Hindi

📔 : MongoDB 🔗

So , अभी तक आपने basic concepts , query और conditional operators के बारे में पढ़ा और समझा। हालाँकि पिछले topic में हमें aggregate() Method के बारे में पढ़ा था। और समझा कि Pipeline में कई stages होती हैं।

उन्ही stages में से एक है $match operator stage , और इस topic में हम इसके बारे में details से समझेंगे।

What is $match In MongoDB ?

$match एक query stage है जो MongoDB में use किया जाता है , इसका मैं purpose documents को filter करना है जो भी आपकी need और criteria से match करते हैं। इस stage में आप एक "filter expression" provide करते हैं जो आपके documents को select करता है।

ये expression JSON format में होता है , जिसमे आप specify करते हैं कि किस field के लिए क्या condition होगी। इसमें हम other conditional operators like : $and / $or का भी use कर सकते हैं।

MongoDB $match Syntax

{
  $match: {
    field1 : value1 ,
    field2 : value2
  }
}

$match stage के अंदर almost हर तरह के conditional operators का use कर सकते हैं , जो भी आपकी need हो।

MongoDB $match Example

अब कुछ examples देख लेते हैं ताकि इसे और अच्छे से समझा जा सके।

1. Suppose आपके पास एक "users" collection है जिसमे "age" field है , आप उन users को filter चाहते हैं जिनकी age 25 से ज्यादा और status Active है।

db.users.aggregate([
  {
    $match: {
      age : { $gt: 25 } ,
      status : "Active"
    }
  }
])

Mongodb $match With $or

normally $match stage में assign किया गया conditional object by default $and की तरह work करता है लेकिन आप $or को manually specify कर सकते हैं।

"products" collection है जिसमे name, price और category field है , आप उन products को filter करना चाहते हैं जिनकी category "Electronics" या price 5000 ज्यादा है।

db.products.aggregate([
  {
    $match: {
      $or : [
        { category: "Electronics" }, 
        { price: { $gt: 5000 } } 
      ]
    }
  }
])

Mongodb $match With $or & $and

आप $match के साथ $or और $and दोनों operators का use कर सकते हैं।

Suppose आपके पास "employees" collection है जिसमे name, age, और department field है। अब आप उन employees को filter करना चाहते हैं जो या तो "IT" department में है या उनकी age 30 से कम है , लेकिन उनका नाम "John" नहीं है।

db.employees.aggregate([
  {
    $match: {
      $or: [
        { department: "IT" }, 
        { age: { $lt: 30 } } 
      ],
      $and: [
        { name: { $ne: "John" } } 
      ]
    }
  }
])

तो कुछ इस तरह से आप $match का use करते हैं , हालाँकि आप इसे advance level पर need के according use में ले सकते हैं।

Related Topics :

Rahul Kumar

Rahul Kumar

Hi ! I'm Rahul Kumar Rajput founder of learnhindituts.com. I'm a software developer having more than 4 years of experience. I love to talk about programming as well as writing technical tutorials and blogs that can help to others. I'm here to help you navigate the coding cosmos and turn your ideas into reality, keep coding, keep learning :)

Get connected with me. :) LinkedIn Twitter Instagram Facebook

b2eprogrammers