यह अध्याय 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