MongoDB $ मैक्स ऑपरेटर

Mongodb Maiksa Oparetara



MongoDB कई ऑपरेटरों के साथ विशेष प्रयोजन के लेन-देन करने के लिए आया था जैसे रिकॉर्ड को अपडेट करना, एक नया रिकॉर्ड जोड़ना और एक निश्चित स्थिति के तहत रिकॉर्ड प्रदर्शित करना। उन ऑपरेटरों में से एक '$ अधिकतम' ऑपरेटर है जिसका उपयोग रिकॉर्ड में सबसे बड़े मूल्य की जांच के लिए किया जाता है। इसके अलावा, हम 'अपडेट' फ़ंक्शन निर्देश में उनकी तुलना करने के बाद सबसे छोटे मूल्य को नए सबसे बड़े मूल्य के साथ अपडेट करने के लिए इसका उपयोग कर सकते हैं। '$ मैक्स' ऑपरेटर का अन्य उपयोग एक निश्चित संग्रह के रिकॉर्ड को इस तरह समूहित करना और प्रदर्शित करना है कि यह डेटाबेस में कुछ डुप्लिकेट रिकॉर्ड होने पर सबसे छोटे मान को अनदेखा करते हुए केवल सबसे बड़ा मान प्रदर्शित कर सकता है। इस गाइड में, हम अपने विंडोज प्लेटफॉर्म में MongoDB कमांड-लाइन उपयोगिता में '$max' ऑपरेटर के पूर्व-उल्लेखित उपयोगों पर चर्चा करने के लिए सरल क्वेरी उदाहरणों का उपयोग करने जा रहे हैं।

उदाहरण 1:

MongoDB शेल में '$max' ऑपरेटर कैसे काम करता है और कैसे '$max' ऑपरेटर काम करता है, इस पर चर्चा करने के लिए चित्रण के साथ शुरू करने के लिए, हमें 'डेटा' नाम का एक संग्रह होना चाहिए जो पहले से ही बनाया जाना चाहिए। इस संग्रह को बनाने के लिए, हमें बिना किसी 'निर्माण' निर्देश के उपयोग के सीधे इसमें कुछ रिकॉर्ड जोड़ने होंगे। संग्रह बनाने और उसमें रिकॉर्ड जोड़ने के लिए सम्मिलित निर्देश पर्याप्त है। हम चार रिकॉर्ड जोड़ने के लिए क्वेरी में 'इन्सर्टमैनी' फ़ंक्शन का उपयोग करते हैं, प्रत्येक में विभिन्न प्रकार के 4 फ़ील्ड होते हैं।

परीक्षा > db.data.insertMany ( [ { 'पहचान' : एक , 'नाम' : 'वाहवाही' , 'वेतन' : 65000 , 'उम्र' : 44 } ,
... { 'पहचान' : 2 , 'नाम' : 'स्टीफन' , 'वेतन' : 77000 , 'उम्र' : 55 } ,
... { 'पहचान' : 3 , 'नाम' : 'मारिया' , 'वेतन' : 42000 , 'उम्र' : 27 } ,
... { 'पहचान' : 4 , 'नाम' : 'हॉकिन' , 'वेतन' : 58000 , 'उम्र' : 33 } ] )







सम्मिलित करें आदेश सफल होता है और आउटपुट संदेश दिखाता है कि रिकॉर्ड जोड़े गए हैं।



हमारे MongoDB के 'डेटा' संग्रह में रिकॉर्ड डालने के बाद, उन रिकॉर्ड्स को शेल पर देखने का समय आ गया है। इस प्रकार, हम JSON प्रारूप में परिणाम प्रदर्शित करने के लिए Printjson तर्क लेते हुए MongoDB Cli पर 'forEach ()' फ़ंक्शन के बाद 'खोज ()' फ़ंक्शन निर्देश चलाते हैं। शेल में प्रदर्शित होने वाला परिणाम संग्रह में कुल 4 दस्तावेज़ दिखाता है जो निम्न आउटपुट छवि में दिखाए गए हैं:



परीक्षा > db.data.find ( ) ।प्रत्येक के लिए ( printjson )





पहले से डाले गए रिकॉर्ड को संशोधित करने के लिए MongoDB के अपडेट कमांड में '$max' ऑपरेटर को आज़माएं। इस प्रकार, अपडेटऑन () का उपयोग केवल 'डेटा' संग्रह के एक रिकॉर्ड को एक विशिष्ट रिकॉर्ड की तरह संशोधित करने के लिए किया जाता है जहां 'आईडी' फ़ील्ड का मान '2' होता है। '$max' ऑपरेटर को 'डेटा' संग्रह के 'वेतन' फ़ील्ड पर यह जांचने के लिए लागू किया जाता है कि क्या 'वेतन' फ़ील्ड का मान 55000 से अधिक है। यदि नहीं, तो 55000 के साथ रिकॉर्ड को अपडेट करें। इसके लिए आउटपुट परिणाम अपडेटऑन () फ़ंक्शन क्वेरी जो रिकॉर्ड '2' के रूप में '0' संशोधन गणना दिखाती है, 55000 से कम वेतन मूल्य है।

परीक्षा > db.data.updateOne ( { पहचान: 2 } , { अधिकतम $ : { वेतन: 55000 } } )



इस अद्यतन के बाद, हम MongoDB कमांड-लाइन शेल पर संशोधित परिणाम प्रदर्शित करने के लिए समान 'खोज ()' फ़ंक्शन क्वेरी का प्रयास करते हैं। लेकिन हमें वही आउटपुट मिलता है जो हमें “अपडेट” निर्देश का उपयोग करने से पहले मिला था। कोई बदलाव नहीं हुआ क्योंकि 77000 का मान 55000 से बड़ा है।

परीक्षा > db.data.find ( ) ।प्रत्येक के लिए ( printjson )

आइए एक बार फिर से उसी अपडेटऑन () क्वेरी को थोड़ा संशोधन के साथ आज़माएं। इस बार, हम '77000' मान की तुलना में '85000' अधिक मूल्य की कोशिश करते हैं जो पहले से ही 'डेटा' संग्रह के 'वेतन' क्षेत्र में हमारे आउटपुट में अंतर लाने के लिए मौजूद है। आउटपुट इस बार संशोधन संख्या '1' दिखाता है क्योंकि इस क्वेरी में '$max' ऑपरेटर के कारण तुलना होने के बाद '85000' मान फ़ील्ड में '77000' के पहले से मौजूद मान को बदल देता है।

परीक्षा > db.data.updateOne ( { पहचान: 2 } , { अधिकतम $ : { वेतन: 85000 } } )

MongoDB के '$max' ऑपरेटर के माध्यम से '85000' के नए मान के साथ '77000' के छोटे मान को सफलतापूर्वक बदलने के बाद, हम अंत में इस अपडेट की जांच करने के लिए 'db' निर्देश में 'खोज ()' फ़ंक्शन का उपयोग करते हैं, यह सफलतापूर्वक अपडेट किया गया है या नहीं। आउटपुट दिखाता है कि इस संग्रह में दूसरे रिकॉर्ड के 'वेतन' फ़ील्ड में मान पूरी तरह से अपडेट किया गया है।

परीक्षा > db.data.find ( ) ।प्रत्येक के लिए ( printjson )

उदाहरण 2:

आइए MongoDB में '$max' ऑपरेटर का उपयोग करने के लिए दूसरे उदाहरण पर जाएं। इस बार, यदि समान फ़ील्ड मानों के लिए कोई डुप्लिकेट हैं, तो संग्रह के अद्वितीय रिकॉर्ड को समूह और प्रदर्शित करने के लिए हमने “$max” ऑपरेटर को बंद कर दिया है। इसके लिए, हम 'परीक्षण' डेटाबेस के 'डेटा' संग्रह में 2 और रिकॉर्ड सम्मिलित करते हैं। इन रिकॉर्ड्स में 'नाम' फ़ील्ड में 2 समान मान हैं जो पहले से डाले गए 4 रिकॉर्ड में भी हैं और बाकी अलग हैं। रिकॉर्ड डालने के लिए, हम उसी 'डीबी' निर्देश का उपयोग करते हैं जिसमें अपडेट होने के लिए 'डेटा' संग्रह के लिए 'इन्सर्टमैनी' फ़ंक्शन शामिल है।

परीक्षा > db.data.insertMany ( [ { 'पहचान' : 5 , 'नाम' : 'वाहवाही' , 'वेतन' : 35000 , 'उम्र' : चार पांच } ,
{ 'पहचान' : 6 , 'नाम' : 'हॉकिन' , 'वेतन' : 67000 , 'उम्र' : 33 } ] )

निर्देश सफलतापूर्वक निष्पादित किया गया है।

अब जब 2 नए रिकॉर्ड जुड़ गए हैं, तो आप उन्हें 'डीबी' निर्देश में उसी 'ढूंढें' फ़ंक्शन का उपयोग करके 'forEach' फ़ंक्शन के बाद भी प्रदर्शित कर सकते हैं। छवि में निम्न डिस्प्ले आउटपुट इस संग्रह के अंत में 2 नए रिकॉर्ड दिखाता है:

परीक्षा > db.data.find ( ) ।प्रत्येक के लिए ( printjson )

'डेटा' संग्रह के 6 रिकॉर्ड प्रदर्शित करने के बाद, हम उस पर कुल कार्य करने के लिए तैयार हैं। इसलिए, निम्नलिखित सूचीबद्ध क्वेरी में 'एग्रीगेट' फ़ंक्शन का उपयोग किया जाता है। इस फ़ंक्शन के साथ, हम फ़ील्ड 'आईडी' और 'वेतन' फ़ील्ड के अद्वितीय नामों के अनुसार 'डेटा' संग्रह के रिकॉर्ड को समूहित करने के लिए '$ समूह' ऑपरेटर का उपयोग करते हैं। अधिकतम मूल्य प्रदर्शित करने के लिए रिकॉर्ड के 'वेतन' क्षेत्र में '$ अधिकतम' ऑपरेटर लागू होता है। इस समूह को प्रदर्शित करने के लिए 'आईडी' के रूप में उपयोग किए जाने वाले 'नाम' फ़ील्ड में डुप्लिकेट नामों के अनुसार वेतन 'फ़ील्ड से सबसे बड़ा मूल्य प्राप्त करें। कुल 4 रिकॉर्ड प्रदर्शित किए जाते हैं। सबसे बड़ा मान प्रदर्शित होने पर सबसे छोटा मान (डुप्लिकेट रिकॉर्ड से) पर ध्यान नहीं दिया जाता है।

db.data.समुच्चय ( [ { $ समूह : { _पहचान: ' $ नाम ' , वेतन: { अधिकतम $ : ' $ वेतन ' } } } ] )

निष्कर्ष

इस गाइड का पहला पैराग्राफ आपको उन ऑपरेटरों के महत्व को समझने में मदद करता है जो MongoDB में उपयोग किए जाते हैं, विशेष रूप से '$max' ऑपरेटर और MongoDB शेल में इसका उपयोग। इस गाइड में दो कमांड-आधारित उदाहरण हैं जो इसके उद्देश्य को प्रदर्शित करने के लिए '$max' ऑपरेटर से संबंधित हैं। MongoDB उदाहरणों के माध्यम से, आप डेटाबेस में कुछ उपयोगी लेन-देन करने में सक्षम होंगे, चाहे वह पहले से मौजूद रिकॉर्ड को नए मूल्य के साथ बदलने या रिकॉर्ड को '$max' ऑपरेटर के माध्यम से प्रदर्शित करने के बारे में हो।