অধ্যায় 3: MongoDB - শর্তমূলক ক্যুয়ারি
এই অধ্যায়টি MongoDB-র শর্তমূলক ক্যুয়ারি উপস্থাপন করে, যা SQL বিবৃতির মতো মোতাবেক অপারেটরগুলির মতো, উচ্চ, তুলনা অপারেটরগুলি।
MongoDB দ্বারা সমর্থিত শর্তমূলক অপারেটর
অপারেটর | বিবরণ |
---|---|
$eq | সমান, SQL-র = অপারেটরের মতো |
$gt | অধিক, SQL-র > অপারেটরের মতো |
$gte | অধিক অথবা সমান, SQL-র >= অপারেটরের মতো |
$in | একটি অ্যারের সাথে মিল, যেকোনো একটি মান, SQL-র ইন কুয়েরির মতো |
$lt | কম, SQL-র < অপারেটরের মতো |
$nin | অ্যারের মধ্যে কোনও মানের সাথে মেল না খায়, SQL-র নট ইন অপারেটরের মতো |
পরীক্ষা ডেটা
ইনভেন্টরি কালেকশনের তথ্য নিম্নলিখিত হল
{ _id: 1, item: { name: "ab", code: "123" }, qty: 15, tags: [ "A", "B", "C" ] }
{ _id: 2, item: { name: "cd", code: "123" }, qty: 20, tags: [ "B" ] }
{ _id: 3, item: { name: "ij", code: "456" }, qty: 25, tags: [ "A", "B" ] }
{ _id: 4, item: { name: "xy", code: "456" }, qty: 30, tags: [ "B", "A" ] }
{ _id: 5, item: { name: "mn", code: "000" }, qty: 20, tags: [ [ "A", "B" ], "C" ] }
$eq (সমান মিল)
db.inventory.find( { qty: { $eq: 20 } } )
db.inventory.find( { "item.name": { $eq: "ab" } } )
// সংক্ষেপিত, $eq অপারেটর বাদ দেওয়া যায়, qty = 20
db.inventory.find( { qty: 20 } )
সদৃশ SQL:
প্রাপ্ত * from inventory where qty = 20
// এটি কেবলমাত্র একটি উদাহরণ, SQL ইতিমধ্যে আইটেম নামের মতো নেষ্ট ক্ষেত্রের স্থানান্তরিত প্রস্তুতি সমর্থন করে না
প্রাপ্ত * from inventory where item.name = 20
$gt (অধিক)
db.inventory.find( { qty: { $gt: 20 } } )
সদৃশ SQL:
প্রাপ্ত * from inventory where qty > 20
$gte (অধিক বা সমান)
db.inventory.find( { qty: { $gte: 20 } } )
সদৃশ SQL:
প্রাপ্ত * from inventory where qty >= 20
$in
একটি ভ্যালুর সাথে অ্যারে মিল
db.inventory.find( { qty: { $in: [ 5, 15 ] } } )
সদৃশ SQL:
প্রাপ্ত * from inventory where qty in (5, 15)
$nin
$in অপারেটরের বিপরীত
db.inventory.find( { qty: { $nin: [ 5, 15 ] } } )
সদৃশ SQL:
প্রাপ্ত * from inventory where qty not in (5, 15)
$lt (কম)
db.inventory.find( { qty: { $lt: 20 } } )
সদৃশ SQL:
প্রাপ্ত * from inventory where qty < 20