MongoDB $ मिन ऑपरेटर

Mongodb Mina Oparetara



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

उदाहरण 1:

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

परीक्षा > db.order.insertMany ( [ { 'पहचान' :01, 'शीर्षक' : 'साबुन' , 'विक्रय कीमत' : 500 , 'कर' : 24 } ,
... { 'पहचान' :02, 'शीर्षक' : 'शैंपू' , 'विक्रय कीमत' : 700 , 'कर' : 27 } ,
... { 'पहचान' :03, 'शीर्षक' : 'डिटर्जेंट' , 'विक्रय कीमत' : 400 , 'कर' : 22 } ,
... { 'पहचान' :04, 'शीर्षक' : 'इत्र' , 'विक्रय कीमत' : 900 , 'कर' : 30 } ,
... { 'पहचान' :05, 'शीर्षक' : 'कुहासा' , 'विक्रय कीमत' : 850 , 'कर' : 27 } ] )







'परीक्षण' डेटाबेस में सम्मिलित रिकॉर्ड को देखने का समय आ गया है। उसके लिए, आपको 'db' निर्देश में एक तर्क के रूप में 'printjson' लेते हुए, 'forEach' विधि के साथ 'खोज ()' विधि को बंद करना होगा। 'आदेश' नाम के संग्रह का उपयोग करते हुए, हमारे पास स्क्रीन पर एक रिकॉर्ड प्रदर्शित होता है।



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



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





परीक्षा > db.order.updateOne ( { पहचान: 3 } , { $ मिनट : { विक्रय कीमत: 600 } } )

तीसरे रिकॉर्ड के 'सेलप्राइस' फ़ील्ड में कोई अपडेट नहीं किए जाने का कारण यह है कि इसमें '400' का मान शामिल है जो '600' से कम है। इसलिए, '$ मिनट' ऑपरेटर निम्न संलग्न खोज () क्वेरी के अनुसार '600' के बड़े मान के साथ '400' के न्यूनतम मान को अपडेट नहीं करता है:



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

आइए इस बार एक अलग आउटपुट प्राप्त करने के लिए अपडेट क्वेरी में थोड़ा बदलाव करें। हम उसी 'डीबी' निर्देश का उपयोग करते हैं जो '3' के एकल रिकॉर्ड को संशोधित करने के लिए 'अपडेटऑन' फ़ंक्शन का उपयोग करता है। यदि '300' का मान पहले से डाले गए मान से कम है, तो इसके मूल्य को '300' पर सेट करने के लिए '$ मिनट' ऑपरेटर को 'सेलप्राइस' फ़ील्ड पर लागू किया जाता है। हम जानते हैं कि सेलप्राइस फील्ड के '400' का पहले से डाला गया मूल्य तुलना किए जाने वाले '300' के नए मूल्य से अधिक है। तो, यह इस बार '400' को '300' से बदल देता है। आउटपुट संदेश इस क्वेरी के सफल निष्पादन को दर्शाता है। संशोधित संख्या = 1 का अर्थ है कि 1 रिकॉर्ड संशोधित किया गया है।

परीक्षा > db.order.updateOne ( { पहचान: 3 } , { $ मिनट : { विक्रय कीमत: 300 } } )

MongoDB शेल में 'खोज ()' फ़ंक्शन निर्देश के माध्यम से JSON प्रारूप में 'परीक्षण' डेटाबेस से 'ऑर्डर' संग्रह के रिकॉर्ड प्रदर्शित करने के बाद, हमने पाया कि तीसरा रिकॉर्ड सफलतापूर्वक अपडेट किया गया है। “SalePrice” फ़ील्ड के 400 के मान को 300 के मान से बदल दिया गया है।

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

उदाहरण 2:

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

'परीक्षण' डेटाबेस के 'ऑर्डर' संग्रह में कुल 8 रिकॉर्ड होने के बाद, यह एक विशिष्ट क्षेत्र पर इसके आवेदन के बाद MongoDB के $ min ऑपरेटर का परीक्षण करने का समय है जो किसी अन्य क्षेत्र द्वारा समूहीकृत है। संलग्न समग्र आदेश इसी के बारे में है। यह 'डीबी' कीवर्ड से शुरू होता है जिसके बाद किसी विशेष डेटाबेस में संग्रह का नाम और कुल () फ़ंक्शन होता है। कुल कार्य MongoDB के $ समूह खंड के उपयोग से शुरू होता है जो विशेष रूप से 'परीक्षण' डेटाबेस के 'शीर्षक' फ़ील्ड से संबंधित समूह में डेटा प्रदर्शित करने के लिए उपयोग किया जाता है जहां 'शीर्षक' फ़ील्ड को एक अद्वितीय कुंजी के रूप में लिया जाता है। .

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

परीक्षा > db.order.समुच्चय ( [ { $ समूह : { _पहचान: ' $शीर्षक ' , कीमत: { $ मिनट : ' $ बिक्री मूल्य ' } } } ] )

निष्कर्ष

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