MongoDB میں db.collection.updateOne() کیا ہے؟

Mongodb My Db Collection Updateone Kya



MongoDB ایک طاقتور غیر متعلقہ ڈیٹا بیس ہے جو متعدد دستاویزات کو محفوظ کر سکتا ہے۔ بعض اوقات، صارف کو کسی ایک دستاویز کو اپ ڈیٹ کرنے کی ضرورت پڑ سکتی ہے جو کچھ معیارات پر پورا اترتی ہو۔ اس صورت حال میں، وہ استعمال کر سکتے ہیں ' db.collection.updateOne() ” طریقہ، جو پہلی دستاویز کو اپ ڈیٹ اور ترمیم کرتا ہے جو انتخاب کے معیار پر پورا اترتا ہے اور اس میں ترمیم کرتا ہے۔

MongoDB میں 'db.collection.updateOne()' طریقہ کیا ہے؟

' db.collection.updateOne() ' طریقہ ایک واحد دستاویز کو اپ ڈیٹ کرتا ہے جو بیان کردہ معیار سے میل کھاتا ہے۔ اگر ایک سے زیادہ دستاویز معیار سے میل کھاتی ہیں تو صرف پہلی دستاویز میں ترمیم کی جائے گی۔ اسے اپ ڈیٹ آپریٹرز کے ساتھ استعمال کیا جا سکتا ہے، جیسے ' $سیٹ '،' $inc 'اور اور بہت .

MongoDB میں 'db.collection.updateOne()' طریقہ استعمال کیسے کریں؟

' db.collection.updateOne() ” طریقہ انتخاب کے معیار سے مماثل ایک واحد فیلڈ کے ساتھ ساتھ ایک دستاویز کے متعدد فیلڈز کو اپ ڈیٹ کرنے کے لیے استعمال کیا جا سکتا ہے۔ مزید یہ کہ یہ طریقہ کسی دستاویز میں فیلڈ بھی شامل کر سکتا ہے اور اپ ڈیٹ آپریٹرز کے ساتھ استعمال کیا جا سکتا ہے۔ کی ترکیب ' db.collection.updateOne() 'طریقہ ذیل میں دیا گیا ہے:







بنیادی نحو



db.collection.updateOne ( { filter_criteria } , { اپ ڈیٹ } , { اختیارات } )

یہاں مندرجہ بالا نحو میں:



  • یہ طریقہ انتخاب کے معیار پر پورا اترنے والی پہلی دستاویز کو اپ ڈیٹ کرے گا۔
  • ' filter_criteria ' اپ ڈیٹ کے معیار کی وضاحت کرتا ہے۔
  • ' اپ ڈیٹ ” میں وہ فیلڈز شامل ہیں جن میں دستاویز میں ترمیم کی جائے گی۔
  • ' اختیارات 'دلیل ایک اختیاری دلیل ہے جو اس طریقہ کار کے کام کو تبدیل کرتی ہے، جیسے ' upsert 'اور' اشارہ '

اس پوسٹ کے لیے، ہم استعمال کریں گے ' Linuxhint_Col2 'کے کام کو ظاہر کرنے کے لئے جمع کرنے کے دستاویزات' db.collection.updateOne() 'طریقہ. اس مجموعہ میں ذخیرہ شدہ دستاویزات کو دیکھنے کے لیے فراہم کردہ کمانڈ پر عمل کریں:





db.Linuxhint_Col2.find ( )

آؤٹ پٹ

آؤٹ پٹ نے 'میں محفوظ کردہ تمام دستاویزات کو بازیافت کیا۔ Linuxhint_Col2 'مجموعہ۔



مثال 1: ایک فیلڈ کو اپ ڈیٹ کریں۔
کسی دستاویز میں واحد فیلڈ کو اپ ڈیٹ کرنے کے لیے، اس کے انتخاب کے معیار کی وضاحت کریں اور معیار کو اپ ڈیٹ کریں۔ اپ ڈیٹ کرنے کے معیار کو اپ ڈیٹ آپریٹرز کا استعمال کرتے ہوئے بیان کیا جا سکتا ہے۔ آئیے اپ ڈیٹ کرنے کے لیے ایک سوال چلائیں ' ماڈلنگ_فیس 'میدان سے' 18000 'کہاں' آخری_نام 'آبجیکٹ برابر' ڈیپ 'دستاویز میں:

db.Linuxhint_Col2.updateOne ( { 'ماڈل_نام۔آخری_نام' : 'ڈیپ' } , { $سیٹ : { ماڈلنگ_فیس: 18000 } } )

آؤٹ پٹ

آؤٹ پٹ نے کامیابی کا پیغام واپس کر دیا۔

کی گئی تبدیلیوں کی تصدیق کے لیے، اس کا استعمال کرتے ہوئے متاثرہ دستاویز کو بازیافت کریں۔ مل() ' کمانڈ:

db.Linuxhint_Col2.find ( { 'ماڈل_نام۔آخری_نام' : 'ڈیپ' } )

آؤٹ پٹ

آؤٹ پٹ نے تصدیق کی کہ دستاویز کو کامیابی سے اپ ڈیٹ کر دیا گیا تھا۔

مثال 2: 'db.collection.updateOne()' طریقہ استعمال کرتے ہوئے ایک نیا فیلڈ شامل کریں
' db.collection.updateOne() ' طریقہ استعمال کرتے ہوئے ایک نیا فیلڈ شامل کرتا ہے ' $سیٹ دستاویز میں آپریٹر اگر یہ پہلے سے موجود نہیں ہے۔ جیسا کہ ' تجربہ ' فیلڈ دستاویزات کے لیے موجود نہیں ہے جہاں ' ماڈلنگ_فیس ' سے کم ہے ' 9000 '

آئیے نیا فیلڈ شامل کریں ' تجربہ 'قیمت کے ساتھ' شروع 'دستاویز میں جہاں' ماڈلنگ_فیس ' سے کم ہے ' 9000 اس استفسار کا استعمال کرتے ہوئے:

db.Linuxhint_Col2.updateOne ( { 'ماڈلنگ_فیس' : { $lt : 9000 } } , { $سیٹ : { 'تجربہ' : 'شروع' } } )

آؤٹ پٹ

آؤٹ پٹ پیغام واپس کرتا ہے جو اس بات کی نشاندہی کرتا ہے کہ ایک دستاویز انتخاب کے معیار سے میل کھاتی ہے اور کامیابی کے ساتھ ترمیم کی گئی ہے۔

آئیے ہم مجموعہ میں دستیاب تمام دستاویزات کو بازیافت کرکے اس کی تصدیق کرتے ہیں۔ Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

آؤٹ پٹ

آؤٹ پٹ سے پتہ چلتا ہے کہ شرط کو پورا کرنے والی ایک دستاویز میں ترمیم کی گئی ہے، اور ایک نیا فیلڈ کامیابی کے ساتھ داخل کیا گیا ہے۔

مثال 3: 'db.collection.updateOne()' طریقہ استعمال کرتے ہوئے ایک دستاویز کے متعدد فیلڈز کو اپ ڈیٹ کریں
صارف ایک دستاویز میں بھی متعدد فیلڈز میں ترمیم کرسکتا ہے۔ یہاں ذیل میں دیا گیا یہ استفسار اس دستاویز کے آخری نام اور عمر میں ترمیم کرے گا جہاں ' پہلا نام 'برابر' نوح ':

db.Linuxhint_Col2.updateOne ( { 'ماڈل_نام۔ پہلا_نام' : 'نوح' } , { $سیٹ : { 'ماڈل_نام۔آخری_نام' : 'کرو' , 'ماڈل_عمر' : 23 } } )

آؤٹ پٹ

استفسار کو بغیر کسی غلطی کے مکمل کیا گیا ہے۔

تبدیلیوں کی تصدیق کرنے کے لیے، دستاویز کو بازیافت کرنے کے لیے 'find()' طریقہ استعمال کریں جہاں ' پہلا نام 'برابر' نوح :

db.Linuxhint_Col2.find ( { 'ماڈل_نام۔ پہلا_نام' : 'نوح' } )

آؤٹ پٹ

آؤٹ پٹ نے ترمیم شدہ دستاویز کو کامیابی سے واپس کر دیا۔

مثال 4: اپ ڈیٹ آپریٹرز کے ساتھ 'db.collection.updateOne()' طریقہ استعمال کریں
جیسا کہ پچھلی مثال میں، ہم نے ' $سیٹ 'آپریٹر کو اپ ڈیٹ کریں تاکہ اقدار میں ترمیم کریں' db.collection.updateOne() 'طریقہ. آئیے ایک اور اپڈیٹ آپریٹر استعمال کرنے کی کوشش کریں ' $inc ' جو مخصوص رقم کے ساتھ فیلڈ کو بڑھاتا ہے۔

یہاں ذیل میں فراہم کردہ استفسار میں، طریقہ اس دستاویز کو تلاش کرتا ہے جہاں ' پہلا نام 'برابر' کیٹ 'اور جوڑتا ہے' 1000 ' میں ' ماڈلنگ_فیس ' فیلڈ کی قدر:

db.Linuxhint_Col2.updateOne ( { 'ماڈل_نام۔ پہلا_نام' : 'کیٹ' } ، { $inc : { ماڈلنگ_فیس: 1000 } } )

آؤٹ پٹ

آؤٹ پٹ نے کامیابی کا پیغام واپس کیا۔

تبدیلیاں دیکھنے کے لیے، استعمال کریں ' مل() 'متاثرہ دستاویز کو بازیافت کرنے کا طریقہ:

db.Linuxhint_Col2.find ( { 'ماڈل_نام۔ پہلا_نام' : 'کیٹ' } )

آؤٹ پٹ

آؤٹ پٹ 'کی تبدیل شدہ قدر کو پیش کرتا ہے ماڈلنگ_فیس '

مثال 5: ایک نئی دستاویز شامل کریں اگر یہ پہلے سے موجود نہیں ہے 'اپسرٹ' دلیل کا استعمال کرتے ہوئے
اختیاری دلیل کو اس طریقہ کار کے رویے کو تبدیل کرنے کے لیے استعمال کیا جا سکتا ہے۔ ایسا ہی ایک آپشن ہے ' upsert ' جو ایک نئی دستاویز کا اضافہ کرتا ہے اگر کوئی پہلے سے موجود دستاویز سوال میں بیان کردہ انتخاب کے معیار پر پورا نہیں اترتی ہے۔

آئیے ہم انتخاب کے معیار کی وضاحت کرتے ہوئے ایک نئی دستاویز شامل کرنے کی کوشش کرتے ہیں جو پہلے سے موجود کسی بھی دستاویز پر پورا نہیں اترتے ہیں۔ اس کے بعد اس کے لیے کچھ فیلڈز سیٹ کریں اور آپشن شامل کریں “ upsert جیسا کہ ذیل میں فراہم کردہ کمانڈ میں دکھایا گیا ہے:

db.Linuxhint_Col2.updateOne ( { 'ماڈل_نام۔ پہلا_نام' : 'ڈیوڈ' } ، { $سیٹ : { ماڈلنگ_فیس: 10000 ,  ماڈل_عمر: 23 ، 'ماڈل_نام۔آخری_نام' : 'سمتھ' } } ، { upsert: سچ } )

آؤٹ پٹ

آؤٹ پٹ نے تسلیم شدہ پیغام کو سچ کے طور پر دکھایا۔

آخر میں، اس کمانڈ کو چلا کر اس کی ترمیم کی تصدیق کریں:

db.Linuxhint_Col2.find ( { 'ماڈل_نام۔ پہلا_نام' : 'ڈیوڈ' } )

آؤٹ پٹ

آؤٹ پٹ نے دکھایا کہ نئی دستاویز کامیابی کے ساتھ شامل کی گئی ہے۔

نتیجہ

' db.collection.updateOne() مونگو ڈی بی میں طریقہ انتخاب کے معیار پر پورا اترنے والی پہلی دستاویز کو اپ ڈیٹ کرنے کے لیے استعمال کیا جاتا ہے۔ یہ اپ ڈیٹ آپریٹرز کا استعمال کرتے ہوئے دستاویز میں ایک کے ساتھ ساتھ ایک سے زیادہ فیلڈز میں ترمیم کر سکتا ہے، جیسے ' $سیٹ 'اور' $inc ' مزید یہ کہ یہ طریقہ طریقہ کار کے رویے کو تبدیل کرنے کے لیے اختیاری دلائل کو بھی قبول کرتا ہے، جیسے کہ ' upsert جو کہ ایک نئی دستاویز کا اضافہ کرتا ہے اگر انتخاب کا معیار کسی موجودہ دستاویز سے میل نہیں کھاتا ہے۔ اس پوسٹ میں 'کے استعمال پر تبادلہ خیال کیا گیا ہے۔ db.collection.updateOne() مونگو ڈی بی میں طریقہ۔