यह अध्याय MongoDB के तार्किक ऑपरेटर्स का परिचय प्रस्तुत करता है, जो SQL में "and" और "or" शर्तों के समान हैं।

MongoDB द्वारा समर्थित तार्किक ऑपरेटर्स

ऑपरेटर विवरण
$and विशिष्ट शर्तों को पूरा करने वाले डॉक्यूमेंट्स को मिलाता है, SQL में "and" शर्त के समान
$not निर्दिष्ट अभिव्यंजन पर विवादास्पद नहीं चलाता है
$or विशिष्ट शर्तों में से कम से कम एक शर्त को पूरा करने वाले डॉक्यूमेंट्स को मिलाता है, SQL में "or" शर्त के समान
$nor उन डॉक्यूमेंट्स को मिलाता है जो दोनों निर्दिष्ट शर्तों को पूरा नहीं करते हैं

$and

सिंटेक्स:

{ $and: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }

स्पष्टीकरण:

  • एक उप-अभिव्यंजन है
  • $and एक समूह लेता है जिसमें एक समूह के अभिव्यंजन होते हैं, और सभी उप-अभिव्यंजनों को पूरा किया जाना चाहिए

उदाहरण:

db.inventory.find( { $and: [ { qty: { $lt : 10 } }, { qty : { $gt: 50 } }] } )

समकक्ष SQL:

select * from inventory where qty > 50 and qty < 10

$not

db.inventory.find( { price: { $not: { $gt: 1.99 } } } )

स्पष्टीकरण:

  • अगर शर्त है कि मूल्य > 1.99, तो NOT ऑपरेशन मूल्य <= 1.99 होगा।
  • यह तब मूल्य से कम या बराबर 1.99 होने वाले डॉक्यूमेंट्स के लिए पूछताछ करता है या जहां मूल्य क्षेत्र मौजूद नहीं है।

SQL के समान:

select * from inventory where price <= 1.99

$or

SQL में "or" शर्त के समान सिंटेक्स:

{ $or: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }

स्पष्टीकरण:

  • एक उप-अभिव्यंजन है
  • $or एक समूह लेता है जिसमें एक समूह के अभिव्यंजन होते हैं, और कम से कम एक उप-अभिव्यंजन को पूरा किया जाना चाहिए

उदाहरण:

db.inventory.find( { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] } )

समकक्ष SQL:

select * from inventory where quantity < 20 or price=10

$nor

तार्किक NOR ऑपरेशन सिंटेक्स:

{ $nor: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }

उदाहरण:

db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ]  } )

स्पष्टीकरण:

  • मूल्य != 1.99 और sale != true, या
  • मूल्य != 1.99 और sale फ़ील्ड मौजूद नहीं है, या
  • मूल्य फ़ील्ड मौजूद नहीं है और sale != true