மோங்கோடிபி மொத்த எண்ணிக்கையுடன் ஆவணங்களை எப்படி எண்ணுவது

Monkotipi Motta Ennikkaiyutan Avanankalai Eppati Ennuvatu



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

எடுத்துக்காட்டு 01

MongoDB இல் உள்ள தரவுத்தள சேகரிப்பின் புலங்களில் $count செயல்பாட்டைச் செய்ய, எங்களிடம் பல பதிவுகள் இருக்க வேண்டும். எனவே, 'டெஸ்ட்' என்ற பெயரில் ஒரு தொகுப்பை உருவாக்கி, அதில் insertMany() செயல்பாட்டைப் பயன்படுத்தி ஒரே நேரத்தில் 12 பதிவுகளைச் செருகினோம். இப்போது, ​​இந்த 'சோதனை' சேகரிப்பின் பதிவுகள் மோங்கோடிபி ஷெல்லில் கண்டு() செயல்பாடு வினவல் மூலம் காட்டப்படும். இது மொத்தம் மூன்று புலங்களைக் கொண்டிருப்பதைக் காணலாம்:_id, பெயர் மற்றும் மதிப்பெண்.

test> db.Test.find({})







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



எங்கள் விஷயத்தில், ஸ்கோர் புலத்தில் '60' மதிப்புக்கான பொருந்தக்கூடிய பதிவுகளைத் தேட $match ஆபரேட்டரைப் பயன்படுத்துகிறோம், அதே நேரத்தில் $count ஆபரேட்டர் பெறப்பட்ட மொத்த பதிவுகளின் எண்ணிக்கையை எண்ணி அவற்றைக் காண்பிக்கப் பயன்படுத்தப்படுகிறது. 'Samescore' என்ற புதிய புலம். இந்த வினவலுக்கான வெளியீடு, 'டெஸ்ட்' தொகுப்பில் '60' மதிப்புடன் இரண்டு பதிவுகள் இருப்பதைக் குறிக்கும் '2' மதிப்புடன் 'SameScore' புலத்தைக் காட்டுகிறது.



db.Test.aggregate([ { $match: { 'மதிப்பெண்' : 60 } }, { $count: 'சம மதிப்பெண்' } ])

சோதனை சேகரிப்பின் 'பெயர்' புலம் போன்ற எண்களைத் தவிர வேறு புலங்களை எண்ணுவதற்கு $count திரட்டலைப் பயன்படுத்தலாம். 'ஜான்' என்ற பெயர் புலத்தின் மதிப்பைக் கொண்ட சேகரிப்பில் உள்ள பதிவைத் தேட, மேட்ச் அக்ரிகேஷனைப் பயன்படுத்துகிறோம். 2 எனப் பொருத்தப்பட்ட மொத்தப் பதிவுகளின் எண்ணிக்கையை எண்ணிக்கைத் திரட்டல் வெற்றிகரமாக எண்ணியது.





db.Test.aggregate([ { $match: { 'பெயர்' : 'ஜான்' } }, { $count: 'அதே பெயர்' } ])

எடுத்துக்காட்டு 02

மேலே உள்ள வினவலைப் புதுப்பித்து, வெவ்வேறு பதிவுகளைப் பெற மற்றொரு நிபந்தனையைப் பயன்படுத்துவோம். இந்த முறை, மதிப்பெண் புலத்தின் மதிப்பு 30க்கும் குறைவான பதிவுகளின் மொத்த எண்ணிக்கையைப் பெற, ஸ்கோர் புலத்தின் $மேட்ச் தொகுப்பைப் பயன்படுத்துவோம். எண்ணிக்கைத் திரட்டல் மொத்தப் பதிவுகளின் எண்ணிக்கையைக் கணக்கிட்டு, புதியதைச் சேர்க்கும். நெடுவரிசை 'கிரேடுD.' வெளியீடு '2' என்ற முடிவைப் பொருந்திய மதிப்பின் எண்ணிக்கை எண்ணாகக் காட்டுகிறது.

db.Test.aggregate( [ { $match: { score: { $lt: 30 } } , { $count: 'கிரேடுD' } ])

லாஜிக்கல் ஆபரேட்டர்களைப் பயன்படுத்தும் போது, ​​களப் பதிவுகளில் 1 க்கும் மேற்பட்ட நிபந்தனைகளைச் செய்ய $count திரட்டலைப் பயன்படுத்தலாம். எனவே, $ மற்றும் ஆபரேட்டரைப் பயன்படுத்தி 'ஸ்கோர்' புலத்திற்கு மொத்தம் இரண்டு நிபந்தனைகள் பயன்படுத்தப்பட்டுள்ளன: gte (அதிக அல்லது அதற்கு சமமான) மற்றும் lte (குறைவான மற்றும் சமமான). முடிவைப் பெறுவதற்கும் அதன் பதிவுகளை எண்ணுவதற்கும் இரண்டு நிபந்தனைகளும் உண்மையாக இருக்க வேண்டும். பொருந்தக்கூடிய அளவுகோல்களுடன் ஐந்து பதிவுகள் இருப்பதாக மொத்த எண்ணிக்கை காட்டுகிறது.



db.Test.aggregate( [ { $match: { '$மற்றும்' : [ { 'மதிப்பெண்' : {$gte: 60 }}, { 'மதிப்பெண்' : {$lte: 80 }} ] }},

{$count: 'கிரேடு பி' } ])

எடுத்துக்காட்டு 03

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

இதற்கு, நீங்கள் $group aggregation-ஐ கீழே உள்ளபடி aggregate function கட்டளைக்குள் பயன்படுத்த வேண்டும். எண்ணிக்கை திரட்டல் செயல்படும் 'பெயர்' புலத்தைக் குறிப்பிட _id புலம் பயன்படுத்தப்பட்டது. இதனுடன், NameCount பயனர் வரையறுத்த புலமானது, 'பெயர்' புலத்தில் பல நகல்களை எண்ண $count திரட்டலைப் பயன்படுத்தும்.

இந்த வினவலுக்கான வெளியீடு கீழே காட்டப்பட்டுள்ளது. இது 'பெயர்' புலத்தில் இருந்து மதிப்புகள் மற்றும் அவற்றின் எண்ணிக்கை எண்ணை நேம்கவுண்ட் புலத்தில் உள்ள மதிப்புகளின் நகல்களின்படி, Cillian 4 நகல்கள் மற்றும் பலவற்றைக் கொண்டுள்ளது.

db.Test.aggregate([ { $group: { _id: '$பெயர்' , பெயர் எண்ணிக்கை: { $count: {} }, }, }, ])

எடுத்துக்காட்டு 04

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

test> db.Teacher.find({})

இப்போது, ​​மேட்ச் ஆபரேட்டரைக் கொண்ட மொத்த செயல்பாட்டைப் பயன்படுத்தியுள்ளோம். மேலும், 'துணை' புலத்தின் 'கணிதம்' என்ற துணை புலத்திற்கு $ மற்றும் ஆபரேட்டர் பயன்படுத்தப்பட்டது, இதில் இரண்டு வெவ்வேறு நிபந்தனைகள் உள்ளன. பின்னர் எண்ணிக்கை கணக்கிடப்பட்டது. துணைப் புலக் கணிதம் 10க்கும் அதிகமான மற்றும் 20க்கும் குறைவான மதிப்புகளைக் கொண்ட இரண்டு பதிவுகள் இருப்பதை வெளியீடு காட்டுகிறது.

db.Teacher.aggregate( [ { $match: { '$மற்றும்' : [ { 'துணை கணிதம்' : {$gte: 10 }}, { 'துணை கணிதம்' : {$lte: இருபது }} ] }}, { $count: 'கிரேடு ஏ' } ])

எடுத்துக்காட்டு 05

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

db.Teacher.count({ 'ஷிப்ட்.2' : 'இரவு' })

இதேபோல், கவுண்ட்() செயல்பாட்டை உள்ளமைக்கப்பட்ட புலங்களுக்கும் பயன்படுத்தலாம், அதாவது 'ஆசிரியர்' தொகுப்பிலிருந்து 'துணை' புலத்தின் துணை புலம் 'phy'. 'phy' துணைப் புலத்தில் 14 க்கும் குறைவான மதிப்புகளைக் குறிக்கும் 'lte' ஆபரேட்டரைப் பயன்படுத்தி பொருந்தக்கூடிய அளவுகோல்களைக் குறிப்பிட்டுள்ளோம். இந்த அறிவுறுத்தலின் வெளியீடு '2' ஐக் காட்டுகிறது, அதாவது 14 க்கும் குறைவான மதிப்பைக் கொண்ட 4 பதிவுகள்.

db.Teacher.count( { 'sub.phy' : { $lte: 14 } })

முடிவுரை

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