MongoDB $Min آپریٹر

Mongodb Min Apry R



اگر آپ ڈیٹا بیس یا پروگرامنگ کے نئے صارف نہیں ہیں، تو آپ نے ایسے پروگراموں اور سوالات کو ضرور آزمایا ہوگا جو موازنہ آپریٹرز کو استعمال کرتے ہیں – اس سے زیادہ، اس سے کم، اس کے برابر، وغیرہ۔ MongoDB میں، جہاں ہم '$set' آپریٹر استعمال کرتے ہیں۔ ایک مخصوص فیلڈ ریکارڈ کو اپ ڈیٹ کریں یا ڈیٹا بیس میں نیا ریکارڈ شامل کریں، ہم موازنہ آپریٹرز جیسے '$min' اور '$max' کا استعمال کرتے ہوئے بھی وہی نتیجہ حاصل کر سکتے ہیں۔ MongoDB میں، '$min' آپریٹر کو ایک مخصوص فیلڈ کو اپ ڈیٹ کرنے کے لیے بہت سے فنکشن سوالات میں استعمال کیا جا سکتا ہے جب کوئی نئی قدر پہلے سے داخل کی گئی قدر سے کم ہو۔ نیز، اس کا استعمال کسی خاص ترتیب میں کسی مجموعہ کے ریکارڈ کو گروپ کرنے اور ڈسپلے کرنے کے لیے کیا جا سکتا ہے۔ یہ گائیڈ MongoDB میں '$min' آپریٹر کو ختم کرنے کے مختلف طریقوں سے آپ کی مدد کرتا ہے۔

مثال 1:

پہلی مثال کے ساتھ شروع کرتے ہوئے، ہم MongoDB میں '$min' آپریٹر کے استعمال کا مظاہرہ کرتے ہیں تاکہ ونڈوز سسٹم میں MongoDB شیل ٹول کا استعمال کرتے ہوئے پہلے سے داخل کردہ ریکارڈ کو اپ ڈیٹ کیا جا سکے۔ لہذا، آپ کے پاس کچھ ریکارڈز ہونے چاہئیں جو پہلے ہی آپ کے ڈیٹا بیس میں شامل ہیں۔ لہذا، ہم insertMany() فنکشن استفسار کا استعمال کرتے ہوئے 'ٹیسٹ' ڈیٹا بیس کے 'آرڈر' مجموعہ میں کل 5 ریکارڈ شامل کرتے ہیں۔ درج کیے گئے ریکارڈز میں سے ہر ایک جو درج ذیل مثال میں دکھایا گیا ہے اس میں کل 4 فیلڈز شامل ہیں - id، ٹائٹل، سیل پرائس، اور ٹیکس۔ یہ 5-ریکارڈ ڈیٹا منسلک آؤٹ پٹ کے مطابق کامیابی کے ساتھ داخل کیا گیا ہے:

پرکھ > db.order.insertMany ( [ { 'id' :01، 'عنوان' : 'صابن' ، 'قیمت فروخت' : 500 ، 'ٹیکس' : 24 } ،
... { 'id' :02، 'عنوان' : 'شیمپو' ، 'قیمت فروخت' : 700 ، 'ٹیکس' : 27 } ،
... { 'id' :03، 'عنوان' : 'صابن' ، 'قیمت فروخت' : 400 ، 'ٹیکس' : 22 } ،
... { 'id' :04، 'عنوان' : 'عطر' ، 'قیمت فروخت' : 900 ، 'ٹیکس' : 30 } ،
... { 'id' :05، 'عنوان' : 'دوبد' ، 'قیمت فروخت' : 850 ، 'ٹیکس' : 27 } ] )







یہ ایک 'ٹیسٹ' ڈیٹا بیس میں داخل کردہ ریکارڈ کو دیکھنے کا وقت ہے۔ اس کے لیے، آپ کو 'db' انسٹرکشن میں دلیل کے طور پر 'printjson' کو لے کر، 'forEach' طریقہ کے ساتھ 'find()' طریقہ کو ختم کرنے کی ضرورت ہے۔ 'آرڈر' نامی مجموعہ کا استعمال کرتے ہوئے، ہمارے پاس اسکرین پر ایک ریکارڈ ظاہر ہوتا ہے۔



پرکھ > db.order.find ( ) .ہر ایک کے لئے ( printjson )



اب وقت آگیا ہے کہ '$min' آپریٹر کو 'updateOne' فنکشن استفسار میں استعمال کرنے کے لیے 'آرڈر' کلیکشن سے ایک ریکارڈ کو اپ ڈیٹ کریں جو ابھی بنایا گیا ہے۔ ڈیٹا بیس سے مخصوص ریکارڈ کو اپ ڈیٹ کرنے کے لیے 'id' فیلڈ کو ایک منفرد شناخت کنندہ کے طور پر استعمال کیا جاتا ہے جب کہ '$min' آپریٹر کو 'SalePrice' فیلڈ پر لاگو کیا جاتا ہے تاکہ اس کی قدر کو 600 تک اپ ڈیٹ کیا جا سکے اگر یہ پہلے سے داخل کی گئی قدر سے کم ہے۔ آؤٹ پٹ پیغام سے پتہ چلتا ہے کہ استفسار کامیاب ہے لیکن کوئی اپ ڈیٹ نہیں کیا گیا ہے۔





پرکھ > db.order.updateOne ( { id: 3 } ، { $منٹ : { قیمت فروخت: 600 } } )

تیسرے ریکارڈ کے 'سیل پرائس' فیلڈ میں کوئی اپ ڈیٹ نہ کرنے کی وجہ یہ ہے کہ اس میں '400' کی قدر ہے جو '600″ سے کم ہے۔ لہذا، '$min' آپریٹر '400' کی کم از کم قدر کو '600' کی بڑی قدر کے ساتھ درج ذیل منسلک تلاش() استفسار کے مطابق اپ ڈیٹ نہیں کرتا ہے۔



پرکھ > db.order.find ( ) .ہر ایک کے لئے ( printjson )

آئیے اس بار مختلف آؤٹ پٹ حاصل کرنے کے لیے اپ ڈیٹ کے سوال میں تھوڑی تبدیلی کرتے ہیں۔ ہم وہی 'db' انسٹرکشن استعمال کرتے ہیں جو '3' کے ایک ریکارڈ میں ترمیم کرنے کے لیے اس میں موجود 'updateOne' فنکشن کو استعمال کرتی ہے۔ اگر '300' کی قدر پہلے سے داخل کی گئی قدر سے کم ہے تو '$min' آپریٹر کو 'SalePrice' فیلڈ پر لاگو کیا جاتا ہے تاکہ اس کی قدر کو '300' پر سیٹ کیا جا سکے۔ ہم جانتے ہیں کہ SalePrice فیلڈ کی '400' کی پہلے سے داخل کی گئی قدر موازنہ کی جانے والی '300' کی نئی قدر سے زیادہ ہے۔ لہذا، یہ اس بار '400' کو '300' سے بدل دیتا ہے۔ آؤٹ پٹ پیغام اس استفسار کے کامیاب عمل کو ظاہر کرتا ہے۔ ترمیم شدہ شمار = 1 کا مطلب ہے کہ 1 ریکارڈ میں ترمیم کی گئی ہے۔

پرکھ > db.order.updateOne ( { id: 3 } ، { $منٹ : { قیمت فروخت: 300 } } )

MongoDB شیل میں 'find()' فنکشن انسٹرکشن کے ذریعے JSON فارمیٹ میں 'ٹیسٹ' ڈیٹا بیس سے 'آرڈر' کلیکشن کے ریکارڈ کو ظاہر کرنے کے بعد، ہم نے پایا کہ تیسرا ریکارڈ کامیابی سے اپ ڈیٹ ہو گیا ہے۔ 'سیل پرائس' فیلڈ میں سے 400 کی قدر کو 300 کی قدر سے بدل دیا جاتا ہے۔

پرکھ > db.order.find ( ) .ہر ایک کے لئے ( printjson )

مثال 2:

اس MongoDB مثال کے اندر، ہم ایک مخصوص ڈیٹا بیس کے ریکارڈز کو '$min' آپریٹر کے حوالے سے ریکارڈز میں کم از کم قدر کے مطابق گروپ بنا کر حاصل کرتے ہیں۔ فرض کریں کہ آپ کے پاس MongoDB کے 'ٹیسٹ' ڈیٹا بیس کے 'آرڈر' مجموعہ میں وہی 5 ریکارڈز ہیں اور آپ کو 'ٹیسٹ' ڈیٹا بیس کے مخصوص فیلڈز میں کچھ ڈپلیکیٹ ڈیٹا رکھنے کی ضرورت ہے۔ اس کے لیے، ہم 'ٹیسٹ' ڈیٹا بیس کے 'آرڈر' مجموعہ میں مزید ریکارڈز شامل کرتے ہیں۔ اس بار، ہم 'ٹائٹل' فیلڈ کے لیے ڈپلیکیٹ اقدار داخل کرتے ہیں۔ اسے '$group' شق میں منفرد اقدار کا ایک گروپ بنانے کے لیے استعمال کیا جاتا ہے۔ درج ذیل آؤٹ پٹ 'ٹیسٹ' ڈیٹا بیس کے لیے نئے داخل کیے گئے 3 مزید ریکارڈز دکھاتا ہے۔ اب، 'آرڈر' مجموعہ میں 5 پرانے ریکارڈز کے مقابلے میں 'ٹائٹل' فیلڈ کے لیے ڈپلیکیٹ قدریں ہیں۔ باقی وہی استعمال کرتے ہیں۔

'ٹیسٹ' ڈیٹا بیس کے 'آرڈر' کے مجموعہ میں کل 8 ریکارڈز رکھنے کے بعد، یہ وقت ہے کہ MongoDB کے $min آپریٹر کو کسی مخصوص فیلڈ پر اس کی درخواست کے بعد اس کی جانچ کی جائے جسے کسی دوسرے فیلڈ کے ذریعے گروپ کیا گیا ہے۔ منسلک مجموعی کمانڈ اس کے بارے میں ہے۔ یہ 'db' کلیدی لفظ کے ساتھ شروع ہوتا ہے جس کے بعد کسی خاص ڈیٹا بیس میں مجموعہ کا نام اور مجموعی() فنکشن ہوتا ہے۔ مجموعی فنکشن MongoDB کی $group شق کے استعمال سے شروع ہوتا ہے جو خاص طور پر یہاں 'ٹیسٹ' ڈیٹا بیس کے 'ٹائٹل' فیلڈ سے متعلق ڈیٹا کو ظاہر کرنے کے لیے استعمال ہوتا ہے جہاں 'ٹائٹل' فیلڈ کو ایک منفرد کلید کے طور پر لیا جاتا ہے۔ .

ایک ہی وقت میں، قیمت کی فیلڈ کو الگ سے شروع کیا جاتا ہے جو کہ اس پر لاگو ہونے والے '$min' آپریٹر کے ذریعے کل 8 اسی ریکارڈوں سے صرف کم از کم قیمت کا ریکارڈ لیتا ہے۔ اس استفسار پر عمل درآمد کا آؤٹ پٹ قیمت کے سیکشن میں تھوڑی تازہ کاری کے ساتھ 5 ریکارڈز کا ڈسپلے دکھاتا ہے۔ آپ دیکھ سکتے ہیں کہ کوئی بار بار ریکارڈ نہیں دکھایا گیا ہے۔ کچھ منفرد اور سب سے چھوٹی قدر کے ریکارڈ یہاں دکھائے گئے ہیں۔

پرکھ > db.order.aggregate ( [ { $گروپ : { _id: ' $Title ' قیمت: { $منٹ : ' $SalePrice ' } } } ] )

نتیجہ

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