மோங்கோடிபி $நிமிட ஆபரேட்டர்

Monkotipi Nimita Aparettar



நீங்கள் தரவுத்தளங்கள் அல்லது நிரலாக்கத்தின் புதிய பயனராக இல்லாவிட்டால், ஒப்பீட்டு ஆபரேட்டர்களைப் பயன்படுத்தும் புரோகிராம்கள் மற்றும் வினவல்களை நீங்கள் முயற்சித்திருக்க வேண்டும் - அதை விட அதிகமாக, குறைவாக, சமமாக, முதலியன. MongoDB இல், நாங்கள் '$set' ஆபரேட்டரைப் பயன்படுத்துகிறோம் ஒரு குறிப்பிட்ட புலப் பதிவைப் புதுப்பிக்கவும் அல்லது தரவுத்தளத்தில் புதிய பதிவைச் சேர்க்கவும், '$min' மற்றும் '$max' போன்ற ஒப்பீட்டு ஆபரேட்டர்களைப் பயன்படுத்தியும் அதே முடிவை அடையலாம். MongoDB இல், '$min' ஆபரேட்டரைப் பல செயல்பாட்டு வினவல்களுக்குள் பயன்படுத்தி, ஒரு குறிப்பிட்ட புலத்தைப் புதுப்பிக்க, ஒரு புதிய மதிப்பு ஏற்கனவே செருகப்பட்ட மதிப்பை விடக் குறைவாக இருக்கும்போது. மேலும், ஒரு தொகுப்பின் பதிவுகளை ஒரு குறிப்பிட்ட வரிசையில் குழுவாக்கவும் காட்சிப்படுத்தவும் இது பயன்படுத்தப்படலாம். MongoDB இல் உள்ள '$min' ஆபரேட்டரை வெளியேற்ற பல்வேறு வழிகளில் இந்த வழிகாட்டி உங்களுக்கு உதவுகிறது.

எடுத்துக்காட்டு 1:

முதல் விளக்கத்தில் தொடங்கி, Windows சிஸ்டத்தில் 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 } ] )







'சோதனை' தரவுத்தளத்தில் செருகப்பட்ட பதிவைப் பார்க்க வேண்டிய நேரம் இது. அதற்கு, 'db' அறிவுறுத்தலில் 'printjson' ஐ ஒரு வாதமாக எடுத்துக் கொண்டு, 'forEach' முறையுடன் 'find()' முறையை நீங்கள் கைவிட வேண்டும். 'ஆர்டர்' என்ற தொகுப்பைப் பயன்படுத்தி, திரையில் ஒரு பதிவு காட்டப்படும்.



சோதனை > db.order.find ( ) .ஒவ்வொரு ( printjson )



இப்போது உருவாக்கப்பட்ட 'ஆர்டர்' சேகரிப்பில் இருந்து ஒரு பதிவைப் புதுப்பிக்க, 'updateOne' செயல்பாட்டு வினவலில் '$min' ஆபரேட்டரைப் பயன்படுத்த வேண்டிய நேரம் இது. தரவுத்தளத்திலிருந்து ஒரு குறிப்பிட்ட பதிவைப் புதுப்பிக்க 'ஐடி' புலம் ஒரு தனித்துவமான அடையாளங்காட்டியாகப் பயன்படுத்தப்படுகிறது, அதே நேரத்தில் '$min' ஆபரேட்டர் அதன் மதிப்பை 600 ஆகப் புதுப்பிக்க 'SalePrice' புலத்தில் பயன்படுத்தப்படும். வினவல் வெற்றிகரமாக உள்ளது என்பதை வெளியீட்டு செய்தி காட்டுகிறது, ஆனால் எந்த புதுப்பிப்புகளும் செய்யப்படவில்லை.





சோதனை > db.order.updateOne ( { ஐடி: 3 } , { $நிமிடம் : { விற்பனை விலை: 600 } } )

3வது பதிவின் “SalePrice” புலத்தில் எந்தப் புதுப்பிப்பும் செய்யப்படாததற்குக் காரணம், அதில் “600″க்கும் குறைவான மதிப்புள்ள “400” மதிப்பு உள்ளது. எனவே, '$min' ஆபரேட்டர், '600' என்ற பெரிய மதிப்புடன் '400' இன் குறைந்தபட்ச மதிப்பை பின்வரும் இணைக்கப்பட்ட கண்டுபிடிப்பு() வினவலின்படி புதுப்பிக்கவில்லை:



சோதனை > db.order.find ( ) .ஒவ்வொரு ( printjson )

இந்த முறை வித்தியாசமான வெளியீட்டைப் பெற, புதுப்பிப்பு வினவலில் ஒரு சிறிய மாற்றத்தைச் செய்வோம். '3' இன் ஒரு பதிவை மாற்ற, அதில் உள்ள 'updateOne' செயல்பாட்டைப் பயன்படுத்தும் அதே 'db' அறிவுறுத்தலைப் பயன்படுத்துகிறோம். '300' இன் மதிப்பு ஏற்கனவே செருகப்பட்ட மதிப்பை விட குறைவாக இருந்தால், அதன் மதிப்பை '300' ஆக அமைக்க '$min' ஆபரேட்டர் 'SalePrice' புலத்தில் பயன்படுத்தப்படும். SalePrice புலத்தின் '400' இன் ஏற்கனவே செருகப்பட்ட மதிப்பு, ஒப்பிட வேண்டிய '300' இன் புதிய மதிப்பை விட அதிகமாக உள்ளது என்பதை நாங்கள் அறிவோம். எனவே, இந்த முறை '400' ஐ '300' உடன் மாற்றுகிறது. இந்த வினவல் வெற்றிகரமாக செயல்படுத்தப்பட்டதை வெளியீட்டு செய்தி காட்டுகிறது. மாற்றியமைக்கப்பட்ட எண்ணிக்கை = 1 என்பது 1 பதிவு மாற்றப்பட்டது என்று பொருள்.

சோதனை > db.order.updateOne ( { ஐடி: 3 } , { $நிமிடம் : { விற்பனை விலை: 300 } } )

'சோதனை' தரவுத்தளத்திலிருந்து 'ஆர்டர்' சேகரிப்பின் பதிவுகளை JSON வடிவத்தில் மோங்கோடிபி ஷெல்லில் உள்ள 'find()' செயல்பாட்டு அறிவுறுத்தலின் மூலம் காட்சிப்படுத்திய பிறகு, 3வது பதிவு வெற்றிகரமாக புதுப்பிக்கப்பட்டதைக் கண்டறிந்தோம். 'சேல்பிரைஸ்' புலத்தின் 400 இன் மதிப்பு 300 இன் மதிப்பால் மாற்றப்படுகிறது.

சோதனை > db.order.find ( ) .ஒவ்வொரு ( printjson )

எடுத்துக்காட்டு 2:

இந்த MongoDB விளக்கப்படத்தில், ஒரு குறிப்பிட்ட தரவுத்தளத்தின் பதிவுகளை பதிவுகளில் உள்ள குறைந்தபட்ச மதிப்பின்படி '$min' ஆபரேட்டரைப் பற்றி தொகுத்து அவற்றைப் பெறுவோம். மோங்கோடிபியின் “சோதனை” தரவுத்தளத்தின் “ஆர்டர்” சேகரிப்பில் அதே 5 பதிவுகள் உங்களிடம் உள்ளன என்றும், “சோதனை” தரவுத்தளத்தின் குறிப்பிட்ட புலங்களில் சில நகல் தரவுகள் உங்களிடம் இருக்க வேண்டும் என்றும் வைத்துக்கொள்வோம். இதற்காக, 'சோதனை' தரவுத்தளத்தின் 'வரிசை' சேகரிப்பில் அதிக பதிவுகளைச் சேர்க்கிறோம். இந்த நேரத்தில், 'தலைப்பு' புலத்திற்கான நகல் மதிப்புகளைச் செருகுவோம். தனிப்பட்ட மதிப்புகளின் குழுவை உருவாக்க இது '$குழு' பிரிவில் பயன்படுத்தப்படுகிறது. பின்வரும் வெளியீடு 'சோதனை' தரவுத்தளத்திற்காக புதிதாக செருகப்பட்ட மேலும் 3 பதிவுகளைக் காட்டுகிறது. இப்போது, ​​'ஆர்டர்' சேகரிப்பில் 5 பழைய பதிவுகளுடன் ஒப்பிடுகையில் 'தலைப்பு' புலத்திற்கான நகல் மதிப்புகள் உள்ளன. மீதமுள்ளவை அதையே பயன்படுத்துகின்றன.

'சோதனை' தரவுத்தளத்தின் 'ஆர்டர்' சேகரிப்பில் மொத்தம் 8 பதிவுகள் இருந்த பிறகு, மோங்கோடிபியின் $நிமிட ஆபரேட்டரை அதன் பயன்பாட்டிற்குப் பிறகு மற்றொரு புலத்தால் தொகுக்கப்பட்ட ஒரு குறிப்பிட்ட துறையில் சோதிக்க வேண்டிய நேரம் இது. இணைக்கப்பட்ட மொத்த கட்டளை இதைப் பற்றியது. இது ஒரு குறிப்பிட்ட தரவுத்தளத்தில் உள்ள சேகரிப்பின் பெயருடன் 'db' முக்கிய வார்த்தையுடன் தொடங்குகிறது மற்றும் மொத்த () செயல்பாடு. மொத்த செயல்பாடு மோங்கோடிபியின் $குழு விதியைப் பயன்படுத்துவதன் மூலம் தொடங்குகிறது, இது 'சோதனை' தரவுத்தளத்தின் 'தலைப்பு' புலம் தொடர்பான ஒரு குழுவில் தரவைக் காண்பிக்க குறிப்பாகப் பயன்படுத்தப்படுகிறது, அங்கு 'தலைப்பு' புலம் ஒரு தனிப்பட்ட விசையாக எடுத்துக் கொள்ளப்படுகிறது. .

அதே நேரத்தில், விலைப் புலம் தனித்தனியாகத் தொடங்கப்படுகிறது, இது '$min' ஆபரேட்டர் மூலம் மொத்த 8 பதிவுகளிலிருந்து குறைந்தபட்ச மதிப்பு பதிவை மட்டுமே எடுக்கும். இந்த வினவல் செயலாக்கத்தின் வெளியீடு விலைப் பிரிவில் ஒரு சிறிய புதுப்பித்தலுடன் 5 பதிவுகளின் காட்சியைக் காட்டுகிறது. மீண்டும் மீண்டும் பதிவுகள் எதுவும் காட்டப்படவில்லை என்பதை நீங்கள் பார்க்கலாம். சில தனிப்பட்ட மற்றும் சிறிய மதிப்பு பதிவுகள் இங்கே காட்டப்படும்.

சோதனை > db.order.மொத்தம் ( [ { $குழு : { _id: ' $தலைப்பு ' , விலை: { $நிமிடம் : ' $SalePrice ' } } } ] )

முடிவுரை

இந்த வழிகாட்டியானது '$min' ஆபரேட்டரைப் பயன்படுத்துவதற்கான எளிய வழியைக் காண்பிப்பதற்கான MongoDB விளக்கப்படங்களின் தொகுப்பாகும். மோங்கோடிபியில் அதன் பயன்பாட்டின் நோக்கத்தைப் பற்றி விவாதிக்க அறிமுகப் பத்தி பயன்படுத்தப்படுகிறது. இந்தக் கட்டுரையின் முதல் பகுதி, '$min' ஆபரேட்டர் எவ்வாறு செயல்படுகிறது மற்றும் ஒரு தரவுத்தளத்தில் ஒரு பதிவுக்காக வேலை செய்யாது, அதாவது பதிவை குறைந்தபட்ச மதிப்பாகப் புதுப்பிக்க அல்லது செருகுவது பற்றி விவாதிக்கிறது. மேலும், கடைசி எடுத்துக்காட்டுகள், தரவுத்தளத்தில் தனிப்பட்ட முறையில் சேகரிப்புப் பதிவைக் குழுவாக்க அதன் பயன்பாட்டை நிரூபிக்கிறது.