এই অধ্যায়ে 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