மோங்கோடிபி வரிசை வினவல் முடிவுகள்

Monkotipi Varicai Vinaval Mutivukal



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

மோங்கோடிபி வினவல் முடிவுகளை எவ்வாறு வரிசைப்படுத்துகிறது?

வரிசை முறையானது புலத்தையும் அதனுடன் தொடர்புடைய மதிப்பையும் ஒற்றை அளவுருவாக எடுத்துக்கொள்கிறது. வரிசை முறையானது JSON வடிவத்தில் {Field: Value} போன்ற அளவுருக்களை ஏற்றுக்கொள்கிறது. சேகரிப்பிலிருந்து வரிசைப்படுத்தப்பட்ட ஆவணங்களைப் பெற, பல புலங்கள் மற்றும் மதிப்புகள் வரிசை() முறையில் உள்ளீடு செய்யப்படலாம். எங்கள் தரவுத்தளத்தில் பல ஆவணங்களைச் செருகிய பின்வரும் ஆவணத்தைக் கவனியுங்கள். இந்த MongoDB தரவுத்தளத்தின் பெயர் 'பணியாளர்கள்'. 'பணியாளர்கள்' சேகரிப்பில் கீழே காட்டப்பட்டுள்ள பணியாளர்களின் அனைத்து தகவல்களும் உள்ளன.

db.Employees.insertMany([
{
'பெயர்': 'ராபர்ட்',
'DOB': '14-05-1993',
'பாலினம் ஆண்',
'மின்னஞ்சல்': ' [மின்னஞ்சல் பாதுகாக்கப்பட்டது] ',
'துறை': 'பாதுகாப்பு',
'சம்பளம்' : 5000
},
{
'பெயர்': 'கைல்',
'DOB': '31-05-1999',
'பாலினம்': 'பெண்',
'மின்னஞ்சல்': ' [மின்னஞ்சல் பாதுகாக்கப்பட்டது] ',
'துறை': 'IT',
'சம்பளம்' : 6200
},
{
'பெயர்': 'மத்தேயு',
'DOB': '26-04-1993',
'பாலினம் ஆண்',
'மின்னஞ்சல்': ' [மின்னஞ்சல் பாதுகாக்கப்பட்டது] ',
'துறை': 'கணக்குகள்',
'சம்பளம்' : 3500
},
{
'பெயர்': 'கெவின்',
'DOB': '14-07-1991',
'பாலினம் ஆண்',
'மின்னஞ்சல்': ' [மின்னஞ்சல் பாதுகாக்கப்பட்டது] ',
'துறை': 'பாதுகாப்பு',
'சம்பளம்' : 4500
},

{
'பெயர்': 'ஜூலியா',
'DOB': '09-12-2000',
'பாலினம்': 'பெண்',
'மின்னஞ்சல்': ' [மின்னஞ்சல் பாதுகாக்கப்பட்டது] ',
'துறை': 'IT',
'சம்பளம்' : 2500
}
])

'பணியாளர்' சேகரிப்பு வழங்கப்பட்ட ஆவணங்களுடன் செருகப்பட்டது, அதன் உறுதிப்படுத்தல் பின்வரும் வெளியீட்டில் காட்டப்பட்டுள்ளது. வரிசைப்படுத்தல் வினவல் முடிவுகளின் செயல்பாட்டைக் காட்ட இந்த சேகரிப்பு ஆவணத்தைப் பயன்படுத்தப் போகிறோம்.









எடுத்துக்காட்டு # 1: மோங்கோடிபி வரிசையாக்கப்படாத சேகரிப்பு

தேடல் வினவல், find() முறையில் செயல்படுத்தப்படும் போது, ​​அது எப்போதும் வரிசைப்படுத்தப்படாத ஆவணங்களின் தொகுப்பைக் கொடுக்கும். கீழே கொடுக்கப்பட்டுள்ள வினவல் முடிவுகளின் மூலம் இது தெளிவாக இருக்கும்.



>db.Employees.find({},{_id:0})

இங்கே, “பணியாளர்” சேகரிப்பு பற்றிய வினவல், find() முறையுடன் உள்ளது. Find() முறையானது “_id:0” உடன் வெற்று அளவுருவை எடுக்கும். எளிமையான முடிவுக்கு, “_id:0” ஆபரேட்டரைப் பயன்படுத்தி ஆவண ஐடி அகற்றப்படும். இயல்பாக, வினவலை find() முறையில் தேடும்போது, ​​வரிசைப்படுத்தப்படாத சேகரிப்புகளைப் பெறுவோம். கீழே பெறப்பட்ட வெளியீடு, செருகும் நேரத்தில் எங்களிடம் இருக்கும் வகையில் வரிசைப்படுத்தப்படாத ஆவணங்கள்.





எடுத்துக்காட்டு # 2: MongoDB வினவல் முடிவுகளை ஏறுவரிசையில் வரிசைப்படுத்தவும்

மோங்கோடிபியில் வரிசைப்படுத்தப்பட்ட சேகரிப்பு வரிசை() முறையைப் பயன்படுத்தி பெறப்படுகிறது, இது கண்டு() முறைக்குப் பிறகு வைக்கப்பட வேண்டும். மோங்கோடிபியில் உள்ள வரிசை() முறையானது புலத்தின் பெயர் மற்றும் ஆவணத்தை வரிசைப்படுத்தும் வரிசையுடன் சேர்க்கப்பட்டுள்ள அளவுருவை எடுக்கும். இந்த குறிப்பிட்ட எடுத்துக்காட்டில் ஆவணங்களை ஏறுவரிசையில் மீட்டெடுப்பதால் புலத்தில் '1' ஐ அளவுருவாக உள்ளிட வேண்டும். பின்வரும் வரிசை வினவல் ஏறுவரிசையில் விளைகிறது.



>db.Employees.find().sort({name:1})

இங்கே, தேடல் வினவலுக்குப் பிறகு, வரிசை() முறையைப் பயன்படுத்தியுள்ளோம். குறிப்பிட்ட புலத்திற்கு அடுத்ததாக “1” மதிப்பு வைக்கப்பட்டுள்ளதால், “பெயர்” புலத்தை ஏறுவரிசையில் வரிசைப்படுத்த வரிசை() முறை பயன்படுத்தப்படுகிறது. எந்த அளவுரு மதிப்புடன் வரிசை() முறை குறிப்பிடப்படவில்லை என்றால், சேகரிப்பு வரிசைப்படுத்தப்படாது என்பதை நினைவில் கொள்ளவும். வரிசை() முறையிலிருந்து வெளியீடு இயல்புநிலை வரிசையில் பெறப்படும். ஏறுவரிசையில் பெயர் புலத்தின்படி வரிசை() முறையின் முடிவுகள் பின்வரும் MongoDB ஷெல்லில் காட்டப்படும்.

எடுத்துக்காட்டு # 3: மோங்கோடிபி வினவல் முடிவுகளை இறங்கு வரிசையில் வரிசைப்படுத்தவும்

இப்போது, ​​மோங்கோடிபியின் வரிசை வினவல் முடிவுகளை இறங்கு வரிசையில் காட்டுகிறோம். இந்த வகையான வினவல் மேலே உள்ள உதாரணத்தைப் போலவே உள்ளது, ஆனால் ஒரு வித்தியாசத்துடன். இறங்கு வரிசைக்கு, வரிசை() முறையானது நெடுவரிசையின் பெயருக்கு எதிராக “-1” மதிப்பை எடுக்கும். இறங்கு வரிசையில் வரிசைப்படுத்தப்பட்ட வினவல் முடிவுகள் கீழே கொடுக்கப்பட்டுள்ளன.

>db.Employees.find({},{'email':1,_id:0}).sort({'email':-1})

இங்கே, தேடல் வினவல் “மின்னஞ்சல்” புலத்தைக் கண்டறிந்து “மின்னஞ்சல்” புலத்தை மட்டுமே வழங்கும் find() முறையுடன் தொடங்குகிறது. அடுத்து, “மின்னஞ்சல்” புலத்தை வரிசைப்படுத்தப் பயன்படுத்தப்படும் வரிசை() முறையை நாங்கள் குறிப்பிட்டுள்ளோம், அதற்கு அடுத்துள்ள “-1” மதிப்பு, பெறப்பட்ட வரிசையாக்க முடிவுகள் இறங்கு வரிசையில் இருக்கும் என்பதைக் குறிக்கிறது. இறங்கு வரிசை வரிசை வினவல் முடிவுகள் MongoDB ஷெல்லில் செயல்படுத்திய பிறகு பெறப்படும்.

எடுத்துக்காட்டு # 4: பல புலங்களுக்கான மோங்கோடிபி வரிசை வினவல் முடிவுகள்

மோங்கோடிபியில் உள்ள பல புலங்களை வரிசை() முறையில் வரிசைப்படுத்தலாம். வரிசைப்படுத்த வேண்டிய புலங்கள் வரிசை() முறையில் அறிவிக்கப்பட வேண்டும். வரிசையாக்கம் புலங்களின் அறிவிப்பு வரிசையை அடிப்படையாகக் கொண்டது மற்றும் வரிசை வரிசை இடமிருந்து வலமாக ஆராயப்படுகிறது. பல புலங்களை வரிசைப்படுத்துவதற்கான வினவல் இப்படி இருக்க வேண்டும்:

>db.Employees.find({},{_id:0}).sort({'name':1,'salary':1})

இங்கே, வரிசைப்படுத்தப்பட வேண்டிய 'பெயர்' மற்றும் 'சம்பளம்' புலங்களுடன் வரிசை() முறை அனுப்பப்படுகிறது. 'பணியாளர்' தொகுப்பிலிருந்து 'பெயர்' புலம் முதலில் வரிசைப்படுத்தப்படுகிறது, ஏனெனில் இது வரிசை() முறையின் முதல் வாதப் புலமாகும். பின்னர், வரிசை() முறை இரண்டாவது வாதப் புலத்தை “சம்பளம்” வரிசைப்படுத்துகிறது. இரண்டு புலங்களின் வரிசையும் “1” ஆகும், இது வரிசையாக்கம் ஏறுவரிசையில் இருக்கும் என்பதைக் குறிக்கிறது. வரிசைப்படுத்தும் வினவலின் பல புலங்களுக்கான வெளியீடு கீழே குறிப்பிடப்பட்ட வரிசையாக்க வரிசையில் உருவாக்கப்படுகிறது.

எடுத்துக்காட்டு # 5: மோங்கோடிபி வினவல் முடிவுகளை வரம்பு முறையுடன் வரிசைப்படுத்தவும்

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

>db.Employees.find({},{_id:0}).sort({'department':1,'DOB':1}).limit(4).pretty()

இங்கே, எங்களிடம் தேடல் வினவல் உள்ளது, இது “துறை” நெடுவரிசைக்கான வரிசை செயல்பாட்டைத் தொடங்குகிறது, பின்னர் வரிசை() முறையைப் பயன்படுத்தி ஏறுவரிசையில் “DOB” நெடுவரிசைக்கான வரிசைப்படுத்தலைத் தொடங்குகிறது. வரிசைப்படுத்தல் முடிந்ததும், வரம்புக்குட்பட்ட ஆவணத்தை மீட்டெடுப்பதற்கான வரம்பு() முறையை அதன் அருகில் வைத்துள்ளோம். வரம்பு() முறைக்கு எண் மதிப்பு '4' கொடுக்கப்பட்டுள்ளது, அதாவது பின்வரும் திரையில் காட்டப்பட்டுள்ளபடி நான்கு வரிசைப்படுத்தப்பட்ட ஆவணங்களை மட்டுமே வெளியீட்டில் காண்பிக்கும்:

எடுத்துக்காட்டு # 6: $sort திரட்டலுடன் MongoDB வினவல் முடிவுகளை வரிசைப்படுத்தவும்

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

db.Employees.aggregate([ { $sort : {salary : 1, _id: -1 } } ])

இங்கே, '$sort' ஆபரேட்டரைப் பயன்படுத்தக்கூடிய மொத்த முறையை நாங்கள் அழைத்துள்ளோம். பின்னர், எங்களிடம் $sort ஆபரேட்டர் வெளிப்பாடு உள்ளது, இது 'சம்பளம்' நெடுவரிசையை ஏறுவரிசையிலும் 'id' நெடுவரிசையை இறங்கு வரிசையிலும் வரிசைப்படுத்துகிறது. புலத்தில் பயன்படுத்தப்படும் $sort திரட்டல் பின்வரும் முடிவுகளை வெளியிடுகிறது:

எடுத்துக்காட்டு # 6: மோங்கோடிபி வினவல் முடிவுகளை ஸ்கிப் முறையில் வரிசைப்படுத்தவும்

வரிசை() முறையை ஸ்கிப்() முறையுடன் இணைக்கலாம். விளைவான தரவுத்தொகுப்பில் ஸ்கிப்() முறையைப் பயன்படுத்தி புறக்கணிக்கப்படும் குறிப்பிட்ட எண்ணிக்கையிலான ஆவணங்கள் இருக்கலாம். வரம்பு() முறையைப் போலவே, ஸ்கிப்() முறையும் தவிர்க்கப்பட வேண்டிய ஆவணங்களின் எண்ணிக்கையைக் குறிக்கும் எண் மதிப்பை ஏற்றுக்கொள்கிறது. வரிசை வினவலில் skip() முறையுடன் வரிசை() முறையை இணைத்துள்ளோம்.

>db.Employees.find({},{_id:0}).sort({'salary':1}).skip(4).pretty()

இங்கே, வரிசை() முறைக்கு அடுத்துள்ள skip() முறையைப் பயன்படுத்தியுள்ளோம். வரிசை() முறை ஆவணங்களை வரிசைப்படுத்தும் போது அது வரிசையாக்க வெளியீட்டை வரிசை() முறைக்கு அனுப்புகிறது. அதன் பிறகு, ஸ்கிப்() முறையானது முதல் நான்கு வரிசைப்படுத்தப்பட்ட ஆவணங்களை சேகரிப்பிலிருந்து நீக்கியது.

முடிவுரை

கட்டுரை MongoDB இல் உள்ள வரிசை வினவல் முடிவுகளைப் பற்றியது. இந்த நோக்கத்திற்காக, குறிப்பிட்ட வரிசையில் பதிவுகளை ஒழுங்கமைக்கும் வரிசை() முறையைப் பயன்படுத்தியுள்ளோம். பல புலங்களில் பல வரிசையாக்க வரிசை() முறையைப் பயன்படுத்தியுள்ளோம். இந்த செயல்பாடுகளைப் பயன்படுத்தி வரிசைப்படுத்தப்பட்ட ஆவணங்களுக்கு வரம்பு() மற்றும் ஸ்கிப்() முறைகளுடன் வரிசை() முறை இணைக்கப்படுகிறது கூடுதலாக, MongoDB இல் வரிசைப்படுத்தப்பட்ட வினவல் முடிவுகளுக்கான $sort தொகுப்பை வழங்கியுள்ளோம்.