MongoDB یا آپریٹر

Mongodb Ya Apry R



ہمارے پاس مختلف منطقی استفسار آپریٹرز ہیں جو MongoDB میں دستیاب ہیں، اور ان میں سے ایک $یا آپریٹر ہے۔ MongoDB $or آپریٹر کا استعمال ایک ایسی سرنی پر منطقی یا آپریشن کو نافذ کرنے کے لیے کیا جاتا ہے جس میں دو یا زیادہ اظہارات ہوتے ہیں اور صرف وہی دستاویزات بازیافت کرتے ہیں جو صف میں مخصوص اظہارات میں سے کسی ایک سے ملتے ہیں۔ $یا آپریٹر کا استعمال صرف ایک مماثل دستاویز کے معیار کے ساتھ ایک سوال میں متعدد بیانات تلاش کرنے کے لیے کیا جاتا ہے۔ $یا آپریٹر کئی کلیدوں اور قدروں کے امتزاج کی سہولت فراہم کرتا ہے۔

MongoDB میں OR آپریٹر کا استعمال کیسے کریں۔

MongoDB میں OR آپریٹر کو '$or' فارمیٹ میں دکھایا گیا ہے۔ '$or' کا استعمال مربع بریکٹ میں متعدد اظہارات کو بند کرنے کے لیے کیا جاتا ہے جس پر منطقی OR آپریشن کیا جاتا ہے۔ ہم MongoDB کلیکشن پر $یا آپریٹر استعمال کرتے ہیں۔ ہم MongoDB مجموعہ بناتے ہیں جس کا عنوان ہے 'مریض'۔ 'مریضوں' کا مجموعہ ان متعدد دستاویزات کے ساتھ داخل کیا جاتا ہے جن پر ہم $یا آپریٹر انجام دیتے ہیں۔ InsertMany() طریقہ استعمال کر کے MongoDB میں درج ذیل دستاویزات داخل کی جاتی ہیں۔

db.Patients.insertMany ( [
{
'پہلا نام' : 'جینیفر' ،
'آخری نام' : 'جوشوا' ،
'عمر' : 44 ،
'فون نمبر' : 43400517 ،
'ملاقات' : 'دانتوں کا ڈاکٹر' ،
'چارجز' : 2000 ،
'پرکھ' : [ 'ایکس رے' ، 'خون' ، 'پلپل' ]
} ،
{
'پہلا نام' : 'تھامس' ،
'آخری نام' : 'اسٹیون' ،
'عمر' : 74 ،
'فون نمبر' : 39034694 ،
'ملاقات کی تاریخ' : 'سرجن' ،
'چارجز' : 6000 ،
'پرکھ' : [ 'انتخابی' ، 'PPT' ]
} ،
{
'پہلا نام' : 'چارلس' ،
'آخری نام' : 'دانیال' ،
'عمر' : 35 ،
'فون نمبر' : 65712165 ،
'ملاقات' : 'کارڈیالوجی ڈاکٹر' ،
'چارجز' : 2000 ،
'پرکھ' : [ 'CT' ، 'ایم آر آئی' ]
} ،
{
'پہلا نام' : 'مشیل' ،
'آخری نام' : 'پال' ،
'عمر' : 51 ،
'فون نمبر' : 54399288 ،
'ملاقات' : 'جلد کے ماہر' ،
'چارجز' : 8000 ،
'پرکھ' : [ 'جلد کی بایپسی' ، 'لکڑی کی روشنی' ، 'جلد کھرچنا' ]
} ،

{
'پہلا نام' : 'اینڈریو' ،
'آخری نام' : 'جیری' ،
'عمر' : 69 ،
'فون نمبر' : 6108100 ،
'ملاقات' : 'کارڈیالوجی ڈاکٹر' ،
'چارجز' : 7000 ،
'پرکھ' : [ 'ای سی جی' ، 'خون میں گلوکوز' ، 'الٹراساؤنڈ' ]
}
] )

پہلے داخل کی گئی دستاویزات کا آؤٹ پٹ 'سچ' کو تسلیم کرتا ہے اور ہر دستاویز کے لیے 'انسرٹ آئی ڈیز' کی اقدار فراہم کرتا ہے۔









مثال 1: MongoDB $OR دستاویزات کو میچ کرنے کے لیے آپریٹر

MongoDB $or آپریٹر کی بنیادی استفسار یہاں لاگو کی گئی ہے جو MongoDB میں اس آپریٹر کے کام کو ظاہر کرتی ہے۔ یہاں، ہم find() طریقہ کے ساتھ ایک سوال کی وضاحت کرتے ہیں۔ find() طریقہ مزید $یا آپریٹر کے ساتھ بیان کیا گیا ہے۔ $یا آپریٹر دو فیلڈز لیتا ہے، 'اپائنٹمنٹ' اور 'چارجز'، جو قدروں کے ساتھ تفویض کیے گئے ہیں۔ $یا آپریٹر فیلڈ ویلیو سے میل کھاتا ہے اور صرف ان دستاویزات کو بازیافت کرتا ہے جن کی قدریں فیلڈ ویلیو سے مماثل ہیں۔ $یا آپریٹر کے استفسار کا ڈھانچہ درج ذیل میں فراہم کیا گیا ہے:



db.Patients.find ( { $یا : [ { ملاقات: 'جلد کے ماہر' } ،
{ چارجز: 7000 } ] } ) .خوبصورت ( )

ہم وہ دستاویزات لاتے ہیں جن کی 'ملاقات' 'Dermatologist' کے ساتھ ہے اور جن کے 'چارجز' '7000' ہیں۔ $یا آپریٹر دونوں فیلڈ اقدار سے صحیح نتائج تلاش کرتا ہے اور آؤٹ پٹ میں مماثل دستاویزات واپس کرتا ہے۔





مثال 2: MongoDB $OR آپریٹر غیر موجود دستاویزات سے مماثل ہے

$یا آپریٹر کے پچھلے سوال میں، ہم نے مماثل دستاویزات حاصل کیں۔ اب، ہم 'مریض' کے مجموعہ سے غیر موجود دستاویز کو بازیافت کرتے ہیں۔ مندرجہ ذیل $یا آپریٹر کا استفسار اس دستاویز کو لیتا ہے جس کا 'پہلا نام' 'چارلس' ہے اور 'ملاقات' 'فزیشن' کے ساتھ ہے۔ $یا آپریٹر 'مریضوں' کے مجموعہ کے اندر ان فیلڈ اقدار سے میل کھاتا ہے اور مماثلت کے بعد نتائج پیدا کرتا ہے۔



db.Patients.find ( { $یا : [ { 'پہلا نام' : 'چارلس' } ، { 'ملاقات' : 'طبیب' } ] } ) .خوبصورت ( )

$یا آپریٹر کا ایک صحیح نتیجہ ہے اور دوسرے کا غلط نتیجہ ہے۔ جیسا کہ ہم 'فزیشن' کی قدر کے ساتھ 'ملاقات' کی وضاحت کرتے ہیں جو 'مریض' کے مجموعہ میں موجود کسی بھی دستاویز سے میل نہیں کھاتی ہے۔ اسی لیے، $یا آپریٹر صرف مماثل فیلڈ کی دستاویز واپس کرتا ہے جو آؤٹ پٹ کے طور پر 'مریض' ہے۔

مثال 3: MongoDB $OR ایک سے زیادہ دلائل کے ساتھ آپریٹر

ہم نے پچھلے $یا آپریٹر کے سوالات میں دو دلائل فراہم کیے ہیں۔ یہاں، ہم $یا آپریٹر اظہار کے طور پر دو سے زیادہ دلیلیں پاس کرتے ہیں۔ ہم اس دستاویز کو بازیافت کرتے ہیں جو اس کو دی گئی کسی بھی 'عمر' فیلڈ کی اقدار سے میل کھاتا ہے۔ $یا آپریٹر کی ضرورت متعدد دلائل کے لیے یکساں ہے کہ اظہار میں سے ایک درست ہونا چاہیے۔ $یا آپریٹر میں متعدد دلائل کے لیے استفسار اس طرح دیا گیا ہے:

db.Patients.find ( { 'ملاقات' : 'کارڈیالوجی ڈاکٹر' ، $یا : [ { 'عمر' : بیس } ، { 'عمر' : 35 } ، { 'عمر' : 69 } ] } )

وہاں، ہمارے پاس دو مماثل نتائج ہیں جو $یا آپریٹر سے حاصل کیے گئے ہیں۔ 'عمر' کی اقدار جو '35' اور '69' ہیں ان کا موازنہ 'مریض' دستاویزات سے کیا جاتا ہے جو $یا آپریٹر کے ذریعہ حاصل کی جاتی ہیں اور شیل پر ظاہر ہوتی ہیں۔

مثال 4: MongoDB $OR جمع کے ساتھ آپریٹر

MongoDB میں مجموعی طریقہ ریکارڈز کو ایک مجموعہ میں یکجا کرتا ہے۔ لہذا، وہ مختلف کارروائیوں کے لئے استعمال کیا جا سکتا ہے. ہم $یا آپریٹر کو جمع کرنے کے طریقہ کار میں انجام دیتے ہیں جو ایک یا ایک سے زیادہ تاثرات کی جانچ کرتا ہے اور اگر ان میں سے کسی کی درستی کی تشخیص کرتا ہے تو اسے درست لوٹاتا ہے۔ دوسری صورت میں، بیان غلط سمجھا جاتا ہے.

آئیے $یا ایگریگیشن آپریٹر کا استفسار کرتے ہیں جہاں ہم سب سے پہلے aggregate() طریقہ استعمال کرتے ہیں جو پھر $match اور $project کو تعینات کرتا ہے جو دستاویز سے مماثل ہونے والی _id قدر کے ساتھ مخصوص ہے۔ پھر، ہم نے 'عمر' فیلڈ کو '1' کی قدر کے ساتھ سیٹ کیا کیونکہ ہم صرف یہ چاہتے ہیں کہ یہ فیلڈ تمام دستاویزات سے تیار کی جائے۔ اس کے بعد، ہم 'نتائج' وصف کی وضاحت کرتے ہیں جس میں $یا آپریشن ہوتا ہے۔ $یا آپریٹر $gt کا مشروط بیان لیتا ہے۔ '$gt:['$Age', 69]' اظہار وہ عمر دیتا ہے جس کی قیمت '69' سے زیادہ ہے۔ اس اظہار کے نتائج $یا آپریٹر کو بھیجے جاتے ہیں اور $یا آپریٹر اس دستاویز کو واپس کرتا ہے جو مخصوص شرط کو پورا کرتا ہے۔

db.Patients.aggregate (
[
{ $ میچ : { _id: ObjectId ( '6391c61a4c91e007fb4f0228' ) } } ،
{ $project : {
_id: ObjectId ( '6391c61a4c91e007fb4f0227' ) ،
عمر: ایک ،
نتیجہ: { $یا : [
{ $gt : [ ' $Age ' ، 69 ] }
] }
}
}
]
)

'عمر' جو '69' سے زیادہ ہے '74' ہے جو آؤٹ پٹ شیل میں 'نتائج' کے ساتھ ظاہر ہوتا ہے جس کی 'حقیقی' قدر ہوتی ہے۔

مثال 5: MongoDB $OR آپریٹر شرائط کی درخواست کرتا ہے۔

MongoDB کا $یا آپریٹر ایک منطقی آپریٹر ہے۔ ہم اس منطقی آپریٹر کو مشروط آپریٹر کے ساتھ استعمال کر سکتے ہیں۔ $یا آپریٹر شرائط کے مطمئن ہونے پر نتائج واپس کرتا ہے۔ اس کے علاوہ، ہم $یا آپریٹر میں ایک سے زیادہ شرطیں لگا سکتے ہیں جن میں سے ایک صحیح ہونا ضروری ہے۔ یہاں، ہمارے پاس $یا آپریٹر کا سوال ہے جو دو مختلف شرائط کے ساتھ بیان کیا گیا ہے۔ پہلی شرط '{چارجز:{$lt: 6000}}' ہے جو اس دستاویز کو واپس کرتی ہے جو '6000' کی 'چارجز' ویلیو سے کم ہے۔ {Charges:'$gt: 7000'} شرط سے وہ دستاویز ملتی ہے جو '7000' کی 'چارجز' ویلیو سے زیادہ ہوتی ہے۔

یہ شرائط پوری ہونے پر $یا آپریٹر مماثل دستاویز دیتا ہے۔ پھر، ہم ان فیلڈز کے نام بتاتے ہیں جو صرف اس وقت دکھائے جاتے ہیں جب $یا آپریٹر مماثل دستاویز دیتا ہے۔

db.Patients.find ( {
$یا : [
{ چارجز: { $lt : 6000 } } ،
{ چارجز: { $gt : 7000 } }
]
} ، {
پہلا نام: ایک ،
چارجز: ایک
} )

آؤٹ پٹ مماثل دستاویزات کے لیے صرف 'فرسٹ نام' اور 'چارجز' فیلڈز دکھاتا ہے۔

مثال 6: MongoDB $OR آپریٹر بغیر کسی دلیل کے

$یا آپریٹر کے ساتھ لاگو کردہ تمام استفسارات کو دلیل کی قدر کے ساتھ پاس کیا جاتا ہے۔ اب، ہم $یا آپریٹر کے استفسار کی وضاحت کرتے ہیں جو کوئی دلیل نہیں دیتا۔ جب خالی دلیل $یا آپریٹر کے استفسار پر عمل درآمد ہوتا ہے، تو یہ غلط نتائج کا اندازہ کرتا ہے۔ ہم ایک سوال دیتے ہیں جہاں $یا آپریشن کو خالی اظہار کے ساتھ پاس کیا جاتا ہے۔

db.Patients.aggregate (
[
{ $ میچ : { _id: { $ میں : [ آبجیکٹ آئی ڈی ( '6391c61a4c91e007fb4f0228' ) ] } } } ،
{ $project : {
_id: ObjectId ( '6391c61a4c91e007fb4f0227' ) ،
نتیجہ: { $یا : [ ] } }
}
]
)

$یا آپریٹر کو خالی دلیل کے ساتھ فراہم کرنے کے نتیجے میں، نتائج غلط قدر بتاتے ہیں۔

مثال 7: MongoDB $OR آپریٹر صف کی قدروں سے میل کھاتا ہے۔

ہم ان دستاویزات میں 'ٹیسٹ' صف داخل کرتے ہیں جن کی قدریں مختلف ہوتی ہیں۔ ہم نتائج کی جانچ کرنے کے لیے $یا آپریٹر کے لیے اس صف کا استعمال کرتے ہیں۔ مندرجہ ذیل استفسار میں $یا آپریٹر کو find() طریقہ کے اندر طلب کیا گیا ہے۔ $یا آپریٹر 'ٹیسٹ' صف کو اظہار کے طور پر لیتا ہے۔ 'ٹیسٹ' سرنی ان دستاویزات کی شناخت کے لیے $in آپریٹر کا استعمال کرتی ہے جن کی فیلڈ ویلیوز صف میں موجود 'MRI' اور 'CT' کی قدروں سے ملتی ہیں۔

db.Patients.find ( { $یا : [ { پرکھ: { $ میں : [ 'ایم آر آئی' ، 'CT' ] } } ] } ) .خوبصورت ( )

ایک دستاویز شیل پر ظاہر ہوتی ہے جب $یا استفسار آپریٹر کو عمل میں لایا جاتا ہے جو ظاہر کرتا ہے کہ بازیافت شدہ دستاویز میں مخصوص صف کی قدریں شامل ہیں۔

نتیجہ

یہ MongoDB مضمون ایک ایسی صف پر منطقی یا آپریشنز کو انجام دینے کے لیے ایک MongoDB $یا آپریٹر کے استفسار کے استعمال کی وضاحت کرتا ہے جس میں دو یا زیادہ اظہارات شامل ہیں اور ساتھ ہی ان دستاویزات کو بازیافت کرنے کے لیے جو کم از کم ایک اظہار سے مماثل ہیں۔ $یا آپریٹر سے MongoDB شیل میں مختلف آپریشنز کرنے کے لیے استفسار کیا جاتا ہے۔ $یا آپریٹر مشروط آپریٹرز میں بطور اظہار استعمال ہوتا ہے اور مشروط بیانات کی بنیاد پر دستاویزات واپس کرتا ہے۔