یہ فصل مانگو ڈی بی کی بنیادی کوئیری سنٹیکس کو mongo شیل کے ذریعے پیش کرتی ہے۔ mongo shell میں db.collection.find()
میتھڈ کو ڈیٹا کو کوئیری کرنے کے لئے استعمال کیا جاتا ہے۔
ٹیسٹ ڈیٹا تیار کریں
انوینٹری کلیکشن میں کچھ ڈیٹا شامل کریں۔
db.inventory.insertMany([
{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "سینٹی میٹر" }, status: "A" },
{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "انچ" }, status: "A" },
{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "انچ" }, status: "D" },
{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "سینٹی میٹر" }, status: "D" },
{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "سینٹی میٹر" }, status: "A" }
]);
تمام دستاویزات کوئیری
انوینٹری کلیکشن میں تمام دستاویزات کوئیری کریں، {} خالی کوئیری حالت ظاہر کرتا ہے۔
db.inventory.find( {} )
مماثل SQL کوئیری کا:
SELECT * FROM inventory
برابری کوئیری حالات
سنٹیکس:
{ فیلڈ: قیمت, ... }
مثال 1:
db.inventory.find( { status: "D" } )
مماثل SQL کوئیری کا:
SELECT * FROM inventory WHERE status = "D"
مثال 2: نیسٹڈ فیلڈ کوئیری، نیسٹڈ ڈاکیومنٹ کے فیلڈز کو ملانے کے لئے ڈاٹ (.) کا استعمال کریں۔
db.inventory.find( { "size.uom": "انچ" } )
مماثل SQL کوئیری کا:
SELECT * FROM inventory WHERE size.uom = "انچ"
نوٹ: مانگو ڈی بی ڈاکیومنٹس JSON فارمیٹ میں ہوتے ہیں، لہذا وہ نیسٹڈ فیلڈز کو کوئیری شرائط کے طور پر استعمال کرنے کی سپورٹ کرتے ہیں۔
کوئیری آپریٹرز کا استعمال
مانگو ڈی بی مختلف کوئیری آپریٹرز کا سپورٹ کرتی ہے تاکہ مختلف پیچیدہ کوئیریز کو امکان بنایا جا سکے۔ سنٹیکس:
{ <فیلڈ1>: { <آپریٹر1>: <قیمت1> }, ... }
تشریح:
- فیلڈ1: فیلڈ کا نام
- آپریٹر1: آپریٹر
- قیمت1: آپریٹر پیرامیٹر
$in آپریٹر کا مثال:
db.inventory.find( { status: { $in: [ "A", "D" ] } } )
مماثل SQL کوئیری کا "in" آپریٹر پر:
SELECT * FROM inventory WHERE status in ("A", "D")
نوٹ: آپریٹرز کی تفصیلات کے لئے، براہ کرم مانگو ڈی بی کوئیری تفصیلات فصل کا حوالہ دیں۔
اور حالت
SQL کے مطابق، مانگو ڈی بی بھی اور حالت کا سپورٹ کرتی ہے۔
مثال:
// متعدد حالات کو متواتر داخل کریں، اور شرائط کو اور کرنے کے لئے استعمال کریں
db.inventory.find( { status: "A", item: "پوسٹ کارڈ"} )
مماثل SQL کوئیری کا:
SELECT * FROM inventory WHERE status = "A" AND item = "پوسٹ کارڈ"
یا حالت
SQL کے مطابق، مانگو ڈی بی بھی یا حالت کا سپورٹ کرتی ہے، جو $or آپریٹر کے ذریعے عمل کرتی ہے۔
سنٹیکس:
{
$or: [
{شرط1},
{شرط2},
.....
]
}
مثال:
db.inventory.find( { $or: [ { status: "A" }, { item: "پوسٹ کارڈ"} ] } )
مماثل SQL کوئیری کا:
SELECT * FROM inventory WHERE status = "A" OR item = "پوسٹ کارڈ"
اور اور یا حالات کا اشتراک
SQL کے مطابق، مانگو ڈی بی اند اور اور یا حالتوں کو مختلف کوئیری شرائط کو اند اور اور کرنے کے ذریعے کمپیوٹ کرسکتی ہے۔
مثال:
db.inventory.find( {
status: "A",
$or: [ { qty: { $lt: 30 } }, { item: /^p/ } ]
} )
اس میں، $lt آپریٹر مناسب قیمت سے کم ہے اور ریگولر ایکسپریشن میچنگ کا استعمال ہوا ہے۔
یہ مماثل SQL کوئیری کا ہے:
SELECT * FROM inventory WHERE status = "A" AND ( qty < 30 or item like 'p%')
مشورہ: مانگو ڈی بی کوئیری حالات کی تفصیلات کے لئے، براہ کرم مانگو ڈی بی کوئیری تفصیلات فصل کا حوالہ دیں۔