এই অধ্যায়ে MongoDB-এর লজিক্যাল অপারেটরগুলি পরিচিত করানো হয়েছে, যা এসকিউএলের "এবং" এবং "অথবা" অবস্থানের মতো।
MongoDB দ্বারা সমর্থিত লজিক্যাল অপারেটর
অপারেটর | বর্ণনা |
---|---|
$and | সমস্ত নির্ধারিত শর্তগুলি সন্নিবেশ করা ডকুমেন্ট ম্যাচ করে, এসকিউএলের "এবং" অবস্থানের মতো |
$not | নির্ধারিত অভিব্যক্তির উপর যৌক্তিক NOT অপারেটর পালন করে |
$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 } } )
ব্যাখ্যা:
- যদি শর্ত হয় price > 1.99, তবে NOT অপারেশন হয় price <= 1.99।
- এটা মানে হয় যে মূল্য 1.99 এর চেয়ে কম বা সমান অথবা যেখানে মূল্য ক্ষেত্র বিদ্যমান নয়, সেখানে ডকুমেন্ট জুড়ে কিছুনা খোঁজা হবে।
SQL এর মত:
select * from inventory where price <= 1.99
$or
SQL এর "অথবা" অবস্থানের মতো সিনট্যাক্স:
{ $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: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }
উদাহরণ:
db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ] } )
ব্যাখ্যা:
- price != 1.99 এবং sale != true, বা
- price != 1.99 এবং sale ক্ষেত্র অস্তিত্বে নেই, বা
- মূল্য ক্ষেত্র অস্তিত্বে নেই এবং sale != true