MongoDB-তে db.collection.updateOne() কী?

Mongodb Te Db Collection Updateone Ki



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 , 'মডেল_নাম। শেষ_নাম' : 'স্মিথ' } } , { আপসার্ট: সত্য } )

আউটপুট

আউটপুট স্বীকৃত বার্তাটিকে সত্য হিসাবে দেখায়।

অবশেষে, এই কমান্ডটি চালিয়ে এর পরিবর্তন যাচাই করুন:

db.Linuxhint_Col2.find ( { 'মডেল_নাম।প্রথম_নাম' : 'ডেভিড' } )

আউটপুট

আউটপুট দেখানো হয়েছে যে নতুন নথিটি সফলভাবে যোগ করা হয়েছে।

উপসংহার

দ্য ' db.collection.updateOne() ” মোঙ্গোডিবি-তে পদ্ধতিটি নির্বাচনের মানদণ্ড পূরণ করে এমন প্রথম নথি আপডেট করতে ব্যবহৃত হয়। এটি আপডেট অপারেটর ব্যবহার করে একটি নথিতে একটি একক এবং একাধিক ক্ষেত্র পরিবর্তন করতে পারে, যেমন ' $সেট ' এবং ' $inc ” অধিকন্তু, এই পদ্ধতিটি পদ্ধতির আচরণ পরিবর্তন করার জন্য ঐচ্ছিক যুক্তিগুলিও গ্রহণ করে, যেমন ' upsert ' যেটি একটি নতুন নথি যোগ করে যদি নির্বাচনের মানদণ্ড কোনো বিদ্যমান নথির সাথে মেলে না। এই পোস্টে 'এর ব্যবহার নিয়ে আলোচনা করা হয়েছে db.collection.updateOne() 'মঙ্গোডিবিতে পদ্ধতি।