MongoDB $মিন অপারেটর

Mongodb Mina Aparetara



আপনি যদি ডাটাবেস বা প্রোগ্রামিং-এর নতুন ব্যবহারকারী না হন, তাহলে আপনি অবশ্যই এমন প্রোগ্রাম এবং কোয়েরি ব্যবহার করে দেখেছেন যা তুলনা অপারেটর ব্যবহার করে – এর চেয়ে বড়, কম, সমান, ইত্যাদি। MongoDB-তে, যেখানে আমরা “$set” অপারেটর ব্যবহার করি একটি নির্দিষ্ট ফিল্ড রেকর্ড আপডেট করুন বা ডাটাবেসে একটি নতুন রেকর্ড যোগ করুন, আমরা '$min' এবং '$max' এর মত তুলনা অপারেটর ব্যবহার করে একই ফলাফল অর্জন করতে পারি। MongoDB-তে, '$min' অপারেটরকে একটি নির্দিষ্ট ক্ষেত্র আপডেট করতে অনেক ফাংশন কোয়েরির মধ্যে ব্যবহার করা যেতে পারে যখন একটি নতুন মান ইতিমধ্যে সন্নিবেশিত মানের থেকে কম হয়। এছাড়াও, এটি একটি নির্দিষ্ট ক্রমে একটি সংগ্রহের রেকর্ডগুলিকে দলবদ্ধ করতে এবং প্রদর্শন করতে ব্যবহার করা যেতে পারে। এই নির্দেশিকা আপনাকে MongoDB-তে “$min” অপারেটরকে বাদ দেওয়ার বিভিন্ন উপায়ে সাহায্য করে।

উদাহরণ 1:

প্রথম দৃষ্টান্ত দিয়ে শুরু করে, আমরা উইন্ডোজ সিস্টেমে MongoDB শেল টুল ব্যবহার করে ইতিমধ্যেই সন্নিবেশিত রেকর্ড আপডেট করতে MongoDB-তে “$min” অপারেটরের ব্যবহার প্রদর্শন করি। অতএব, আপনার অবশ্যই কিছু রেকর্ড থাকতে হবে যা ইতিমধ্যেই আপনার ডাটাবেসে যোগ করা হয়েছে। সুতরাং, আমরা একটি 'পরীক্ষা' ডাটাবেসের 'অর্ডার' সংগ্রহে মোট 5টি রেকর্ড যুক্ত করতে insertMany() ফাংশন ক্যোয়ারী ব্যবহার করি। নিম্নলিখিত চিত্রে দেখানো প্রতিটি সন্নিবেশিত রেকর্ডে মোট 4টি ক্ষেত্র রয়েছে – আইডি, শিরোনাম, বিক্রয়মূল্য এবং কর। সংযুক্ত আউটপুট অনুযায়ী এই 5-রেকর্ড ডেটা সফলভাবে ঢোকানো হয়েছে:

পরীক্ষা > db.order.insertMany ( [ { 'আইডি' :01, 'শিরোনাম' : 'সাবান' , 'বিক্রয় মূল্য' : 500 , 'কর' : 24 } ,
... { 'আইডি' :02, 'শিরোনাম' : 'শ্যাম্পু' , 'বিক্রয় মূল্য' : 700 , 'কর' : 27 } ,
... { 'আইডি' :03, 'শিরোনাম' : 'ডিটারজেন্ট' , 'বিক্রয় মূল্য' : 400 , 'কর' : 22 } ,
... { 'আইডি' :04, 'শিরোনাম' : 'সুগন্ধি' , 'বিক্রয় মূল্য' : 900 , 'কর' : 30 } ,
... { 'আইডি' :05, 'শিরোনাম' : 'কুয়াশা' , 'বিক্রয় মূল্য' : 850 , 'কর' : 27 } ] )







এটি একটি 'পরীক্ষা' ডাটাবেসে সন্নিবেশিত রেকর্ডটি দেখার সময়। এর জন্য, আপনাকে 'find()' পদ্ধতিটি 'forEach' পদ্ধতির সাথে বন্ধ করতে হবে, 'db' নির্দেশে একটি আর্গুমেন্ট হিসাবে 'printjson' গ্রহণ করতে হবে। 'অর্ডার' নামের সংগ্রহটি ব্যবহার করে, আমাদের পর্দায় একটি রেকর্ড প্রদর্শিত হয়েছে।



পরীক্ষা > db.order.find ( ) .প্রতিটির জন্য ( প্রিন্টজসন )



এইমাত্র তৈরি করা 'অর্ডার' সংগ্রহ থেকে একটি একক রেকর্ড আপডেট করার জন্য 'updateOne' ফাংশন ক্যোয়ারীতে '$min' অপারেটর ব্যবহার করার উপযুক্ত সময়। একটি ডাটাবেস থেকে একটি নির্দিষ্ট রেকর্ড আপডেট করার জন্য 'আইডি' ক্ষেত্রটি একটি অনন্য শনাক্তকারী হিসাবে ব্যবহৃত হয় যখন '$min' অপারেটরটি ইতিমধ্যে সন্নিবেশিত মানের থেকে কম হলে তার মান 600-এ আপডেট করতে একটি 'SalePrice' ক্ষেত্রে প্রয়োগ করা হয়। আউটপুট বার্তা দেখায় যে ক্যোয়ারী সফল কিন্তু কোন আপডেট করা হয় না।





পরীক্ষা > db.order.updateOne ( { আইডি: 3 } , { $মিনিট : { বিক্রয় মূল্য: 600 } } )

3য় রেকর্ডের “সেলপ্রাইস” ফিল্ডে কোন আপডেট না হওয়ার কারণ হল যে এতে “400” এর মান রয়েছে যা “600″ এর থেকে কম। অতএব, '$min' অপারেটর নিম্নলিখিত সংযুক্ত find() ক্যোয়ারী অনুযায়ী '600' এর বড় মানের সাথে '400' এর সর্বনিম্ন মান আপডেট করে না:



পরীক্ষা > db.order.find ( ) .প্রতিটির জন্য ( প্রিন্টজসন )

এবার একটি ভিন্ন আউটপুট পেতে আপডেট ক্যোয়ারীতে একটু পরিবর্তন করা যাক। আমরা একই 'db' নির্দেশনা ব্যবহার করি যা '3' এর একটি একক রেকর্ড পরিবর্তন করতে এতে 'updateOne' ফাংশন ব্যবহার করে। '$min' অপারেটরটিকে 'SalePrice' ক্ষেত্রের মান '300' এ সেট করতে প্রয়োগ করা হয় যদি '300' এর মান ইতিমধ্যে সন্নিবেশিত মানের থেকে কম হয়। আমরা জানি যে SalePrice ক্ষেত্রের “400” এর ইতিমধ্যে সন্নিবেশিত মান তুলনা করা “300” এর নতুন মানের থেকে বেশি। সুতরাং, এটি এই সময় '300' এর সাথে '400' এর পরিবর্তে। আউটপুট বার্তাটি এই প্রশ্নের সফল সম্পাদন দেখায়। পরিবর্তিত গণনা = 1 মানে হল 1 রেকর্ড পরিবর্তিত হয়েছে।

পরীক্ষা > db.order.updateOne ( { আইডি: 3 } , { $মিনিট : { বিক্রয় মূল্য: 300 } } )

MongoDB শেলের 'find()' ফাংশন নির্দেশের মাধ্যমে JSON ফর্ম্যাটে 'পরীক্ষা' ডাটাবেস থেকে একটি 'অর্ডার' সংগ্রহের রেকর্ড প্রদর্শন করার পরে, আমরা দেখতে পেয়েছি যে 3য় রেকর্ডটি সফলভাবে আপডেট হয়েছে। 'বিক্রয়মূল্য' ক্ষেত্রের 400-এর মান 300-এর মান দ্বারা প্রতিস্থাপিত হয়।

পরীক্ষা > db.order.find ( ) .প্রতিটির জন্য ( প্রিন্টজসন )

উদাহরণ 2:

এই MongoDB চিত্রের মধ্যে, আমরা রেকর্ডের সর্বনিম্ন মান অনুসারে '$min' অপারেটর সম্পর্কিত একটি নির্দিষ্ট ডাটাবেসের রেকর্ড সংগ্রহ করি। অনুমান করুন যে আপনার কাছে MongoDB-এর 'পরীক্ষা' ডাটাবেসের 'অর্ডার' সংগ্রহে একই 5টি রেকর্ড রয়েছে এবং আপনার একটি 'পরীক্ষা' ডাটাবেসের নির্দিষ্ট ক্ষেত্রে কিছু সদৃশ ডেটা থাকতে হবে। এর জন্য, আমরা 'পরীক্ষা' ডাটাবেসের 'অর্ডার' সংগ্রহে আরও রেকর্ড যুক্ত করি। এইবার, আমরা 'শিরোনাম' ক্ষেত্রের জন্য ডুপ্লিকেট মান সন্নিবেশ করি। এটি একটি '$গ্রুপ' ধারায় ব্যবহার করা হয় অনন্য মানগুলির একটি গ্রুপ তৈরি করতে। নিম্নলিখিত আউটপুট 'পরীক্ষা' ডাটাবেসের জন্য নতুন সন্নিবেশিত আরও 3টি রেকর্ড প্রদর্শন করে। এখন, 'অর্ডার' সংগ্রহে 5টি পুরানো রেকর্ডের তুলনায় 'শিরোনাম' ক্ষেত্রের ডুপ্লিকেট মান রয়েছে। বাকিরা একই ব্যবহার করে।

'পরীক্ষা' ডাটাবেসের 'অর্ডার' সংগ্রহে মোট 8টি রেকর্ড থাকার পর, অন্য ফিল্ড দ্বারা গোষ্ঠীবদ্ধ একটি নির্দিষ্ট ক্ষেত্রে আবেদন করার পরে MongoDB-এর $মিন অপারেটরকে পরীক্ষা করার সময় এসেছে। সংযুক্ত সামগ্রিক কমান্ড এই সম্পর্কে সব. এটি একটি নির্দিষ্ট ডাটাবেসের একটি সংগ্রহের নাম এবং aggregate() ফাংশন দ্বারা অনুসরণ করা 'db' কীওয়ার্ড দিয়ে শুরু হয়। সমষ্টিগত ফাংশনটি MongoDB-এর $গ্রুপ ক্লজ ব্যবহার করে শুরু হয় যা বিশেষ করে এখানে 'টেস্ট' ডাটাবেসের 'শিরোনাম' ক্ষেত্র সম্পর্কিত একটি গোষ্ঠীতে ডেটা প্রদর্শন করতে ব্যবহৃত হয় যেখানে 'শিরোনাম' ক্ষেত্রটিকে একটি অনন্য কী হিসাবে নেওয়া হয়। .

একই সময়ে, মূল্য ক্ষেত্রটি আলাদাভাবে আরম্ভ করা হয় যা শুধুমাত্র ন্যূনতম মান রেকর্ড নেয় মোট 8টি একই রেকর্ড থেকে '$min' অপারেটরের মাধ্যমে যা এটিতে প্রয়োগ করা হয়। এই ক্যোয়ারী এক্সিকিউশনের আউটপুট মূল্য বিভাগে সামান্য আপডেট সহ 5টি রেকর্ডের প্রদর্শন দেখায়। আপনি দেখতে পারেন যে কোনও পুনরাবৃত্তিমূলক রেকর্ড প্রদর্শিত হয় না। কিছু অনন্য এবং ক্ষুদ্রতম মান রেকর্ড এখানে প্রদর্শিত হয়.

পরীক্ষা > db.order.aggregate ( [ { $গ্রুপ : { _id: ' $Title ' , মূল্য: { $মিনিট : ' $SalePrice ' } } } ] )

উপসংহার

'$min' অপারেটর ব্যবহার করার একটি সহজ উপায় প্রদর্শন করার জন্য এই নির্দেশিকাটি MongoDB চিত্রের একটি সংগ্রহ। ভূমিকা অনুচ্ছেদটি MongoDB-তে এর ব্যবহারের উদ্দেশ্য নিয়ে আলোচনা করার জন্য ব্যবহার করা হয়েছে। এই নিবন্ধের প্রথম অংশে আলোচনা করা হয়েছে যে কীভাবে '$min' অপারেটর কাজ করে এবং একটি ডাটাবেসের একটি রেকর্ডের জন্য কাজ করে না, যেমন একটি নূন্যতম মান হিসাবে একটি রেকর্ড আপডেট করা বা সন্নিবেশ করানো৷ এছাড়াও, শেষ উদাহরণগুলি ডাটাবেস জুড়ে অনন্য হিসাবে সংগ্রহের রেকর্ডকে গোষ্ঠীভুক্ত করতে এর ব্যবহার প্রদর্শন করে।