MongoDB క్రమబద్ధీకరణ ప్రశ్న ఫలితాలు

Mongodb Kramabad Dhikarana Prasna Phalitalu



దాదాపు అన్ని డేటాబేస్ సిస్టమ్‌లు డేటాను తిరిగి పొందే ముందు క్రమబద్ధీకరించడానికి ప్రాధాన్యతనిస్తాయి, ఇది వాటిని ఇతర డేటా నిల్వ పద్ధతుల నుండి వేరు చేస్తుంది. MongoDB డేటాను ఎలా క్రమబద్ధీకరించాలో నిర్ణయించడానికి వివిధ మార్గాలను కూడా కలిగి ఉంది. ఎక్కువగా, పత్రం కనిపించే క్రమాన్ని గుర్తించడానికి మేము సార్ట్() పద్ధతిని ఉపయోగిస్తాము. క్రమం యొక్క క్రమం సార్ట్() పద్ధతికి పరామితిగా పంపబడుతుంది. క్రమబద్ధీకరణ() పద్ధతిని కంపోజ్ చేసే ఒకటి లేదా అంతకంటే ఎక్కువ ఫీల్డ్‌లు తరచుగా “1” లేదా “-1” విలువతో అనుసరించబడతాయి. క్రమబద్ధీకరణ() పద్ధతి ప్రశ్నను మరింత చదవగలిగేలా చేస్తుంది, ఇది పేర్కొన్న సేకరణ యొక్క గ్రహణశక్తిని మెరుగుపరుస్తుంది.

MongoDB ప్రశ్న ఫలితాలను ఎలా క్రమబద్ధీకరిస్తుంది?

క్రమబద్ధీకరణ పద్ధతి ఫీల్డ్ మరియు దాని అనుబంధిత విలువను ఒకే పరామితిగా తీసుకుంటుంది. క్రమబద్ధీకరణ పద్ధతి {Field: Value} వంటి JSON ఆకృతిలో పారామితులను అంగీకరిస్తుంది. సేకరణ నుండి క్రమబద్ధీకరించబడిన పత్రాలను పొందడానికి బహుళ ఫీల్డ్‌లు మరియు విలువలను క్రమబద్ధీకరణ() పద్ధతిలో కూడా ఇన్‌పుట్ చేయవచ్చు. మేము మా డేటాబేస్‌లో అనేక ఇతర పత్రాలను చొప్పించిన క్రింది పత్రాన్ని పరిగణించండి. ఈ 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: MongoDB క్రమబద్ధీకరించని సేకరణ

శోధన ప్రశ్నను find() పద్ధతితో అమలు చేసినప్పుడు, ఇది ఎల్లప్పుడూ క్రమబద్ధీకరించని పత్రాల సేకరణను అందిస్తుంది. దిగువ అందించిన ప్రశ్న ఫలితాలతో ఇది మరింత స్పష్టంగా ఉంటుంది.



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

ఇక్కడ, మేము find() పద్ధతితో “ఉద్యోగి” సేకరణ యొక్క ప్రశ్నను కలిగి ఉన్నాము. find() పద్ధతి “_id:0”తో పాటు ఖాళీ పరామితిని తీసుకుంటుంది. సరళమైన ఫలితం కోసం, “_id:0” ఆపరేటర్‌ని ఉపయోగించి పత్రం ID తీసివేయబడుతుంది. డిఫాల్ట్‌గా, క్వెరీని find() పద్ధతితో శోధించినప్పుడు మేము క్రమబద్ధీకరించని సేకరణలను పొందుతాము. దిగువన పొందబడిన అవుట్‌పుట్ చొప్పించే సమయంలో మన వద్ద ఉన్న విధంగా క్రమబద్ధీకరించని అన్ని పత్రాలు.





ఉదాహరణ # 2: MongoDB ప్రశ్న ఫలితాలను ఆరోహణ క్రమంలో క్రమబద్ధీకరించండి

MongoDBలో క్రమబద్ధీకరించబడిన సేకరణ క్రమబద్ధీకరణ () పద్ధతిని ఉపయోగించడం ద్వారా పొందబడుతుంది, ఇది ఫైండ్() పద్ధతి తర్వాత ఉంచబడుతుంది. MongoDBలోని క్రమబద్ధీకరణ() పద్ధతి ఫీల్డ్ పేరు మరియు పత్రాన్ని క్రమబద్ధీకరించే క్రమంలో చేర్చబడిన పరామితిని తీసుకుంటుంది. ఈ నిర్దిష్ట ఉదాహరణలో మేము పత్రాలను ఆరోహణ క్రమంలో తిరిగి పొందుతాము కాబట్టి మేము ఫీల్డ్‌లో “1”ని పారామీటర్‌గా నమోదు చేయాలి. క్రమబద్ధీకరణ ప్రశ్నలో కిందిది ఆరోహణ క్రమంలో ఏర్పడుతుంది.



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

ఇక్కడ, మేము శోధన ప్రశ్న తర్వాత క్రమబద్ధీకరణ () పద్ధతిని ఉపయోగించాము. '1' విలువ పేర్కొన్న ఫీల్డ్ ప్రక్కన ఉంచబడినందున 'పేరు' ఫీల్డ్‌ను ఆరోహణ క్రమంలో క్రమబద్ధీకరించడానికి క్రమబద్ధీకరణ() పద్ధతి ఉపయోగించబడుతుంది. ఏదైనా పారామెట్రిక్ విలువతో క్రమబద్ధీకరణ() పద్ధతిని పేర్కొనకపోతే సేకరణ క్రమబద్ధీకరించబడదని గమనించండి. సార్ట్() పద్ధతి నుండి అవుట్‌పుట్ డిఫాల్ట్ ఆర్డర్‌లో పొందబడుతుంది. ఆరోహణ క్రమంలో పేరు ఫీల్డ్ ద్వారా విధమైన () పద్ధతి యొక్క ఫలితాలు క్రింది MongoDB షెల్‌లో ప్రదర్శించబడతాయి.

ఉదాహరణ # 3: MongoDB ప్రశ్న ఫలితాలను అవరోహణ క్రమంలో క్రమబద్ధీకరించండి

ఇప్పుడు, మేము MongoDB యొక్క క్రమబద్ధీకరణ ప్రశ్న ఫలితాలను అవరోహణ క్రమంలో చూపుతున్నాము. ఈ విధమైన ప్రశ్న పై ఉదాహరణ వలెనే ఉంటుంది కానీ ఒక తేడాతో ఉంటుంది. అవరోహణ క్రమం కోసం, క్రమబద్ధీకరణ () పద్ధతి కాలమ్ పేరుకు వ్యతిరేకంగా “-1” విలువను తీసుకుంటుంది. క్రమబద్ధీకరణ ప్రశ్న ఫలితాలు అవరోహణ క్రమంలో క్రింద ఇవ్వబడ్డాయి.

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

ఇక్కడ, శోధన ప్రశ్న “ఇమెయిల్” ఫీల్డ్‌ను కనుగొని, ఫీల్డ్ “ఇమెయిల్” విలువలను మాత్రమే అందించే find() పద్ధతితో ప్రారంభమవుతుంది. తరువాత, 'ఇమెయిల్' ఫీల్డ్‌ను క్రమబద్ధీకరించడానికి ఉపయోగించే క్రమబద్ధీకరణ () పద్ధతిని మేము పేర్కొన్నాము మరియు దాని ప్రక్కన ఉన్న '-1' విలువ పొందిన సార్టింగ్ ఫలితాలు అవరోహణ క్రమంలో ఉంటాయని సూచిస్తుంది. అవరోహణ క్రమం క్రమబద్ధీకరణ ప్రశ్న ఫలితాలు MongoDB షెల్‌లో అమలు చేసిన తర్వాత పొందబడతాయి.

ఉదాహరణ # 4: బహుళ ఫీల్డ్‌ల కోసం MongoDB క్రమబద్ధీకరణ ప్రశ్న ఫలితాలు

మేము మొంగోడిబిలోని బహుళ ఫీల్డ్‌లను క్రమబద్ధీకరించవచ్చు() పద్ధతితో. క్రమబద్ధీకరించవలసిన ఫీల్డ్‌లు క్రమబద్ధీకరణ () పద్ధతిలో ప్రకటించబడాలి. క్రమబద్ధీకరణ ఫీల్డ్‌ల డిక్లరేషన్ ఆర్డర్‌పై ఆధారపడి ఉంటుంది మరియు క్రమబద్ధీకరణ క్రమం ఎడమ నుండి కుడికి పరిశీలించబడుతుంది. బహుళ ఫీల్డ్‌లను క్రమబద్ధీకరించడానికి ప్రశ్న ఇలా ఉండాలి:

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

ఇక్కడ, క్రమబద్ధీకరించవలసిన “పేరు” మరియు “జీతం” ఫీల్డ్‌లతో క్రమబద్ధీకరణ() పద్ధతి ఆమోదించబడుతుంది. 'ఉద్యోగి' సేకరణ నుండి ఫీల్డ్ 'పేరు' మొదట క్రమబద్ధీకరించబడింది ఎందుకంటే ఇది సార్ట్() పద్ధతి యొక్క మొదటి ఆర్గ్యుమెంట్ ఫీల్డ్. అప్పుడు, sort() పద్ధతి రెండవ ఆర్గ్యుమెంట్ ఫీల్డ్ “జీతం”ని క్రమబద్ధీకరిస్తుంది. రెండు ఫీల్డ్‌ల క్రమం “1”, ఇది సార్టింగ్ ఆరోహణ క్రమంలో ఉంటుందని సూచిస్తుంది. క్రమబద్ధీకరణ ప్రశ్న యొక్క బహుళ ఫీల్డ్‌ల అవుట్‌పుట్ దిగువ పేర్కొన్న క్రమబద్ధీకరణ క్రమంలో రూపొందించబడింది.

ఉదాహరణ # 5: MongoDB పరిమితి పద్ధతితో ప్రశ్న ఫలితాలను క్రమబద్ధీకరించండి

ఇంకా, ఆ శోధన ప్రశ్న ద్వారా క్రమబద్ధీకరించబడిన డాక్యుమెంట్‌ల పరిమిత సంఖ్యలను ఇచ్చే పరిమితి() పద్ధతితో క్రమబద్ధీకరణ () పద్ధతిని కూడా కలపవచ్చు. పరిమితి() పద్ధతికి పరామితిగా పూర్ణాంకం అవసరం, ఇది అవుట్‌పుట్ సెట్‌లో చేర్చవలసిన పత్రాల సంఖ్యను పరిమితం చేస్తుంది. శోధన ప్రశ్న దిగువన సెట్ చేయబడింది, ఇది మొదట పత్రాన్ని క్రమబద్ధీకరించి, ఆపై పేర్కొన్న పరిమితి పత్రాలను అందిస్తుంది.

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

ఇక్కడ, మేము శోధన ప్రశ్నను కలిగి ఉన్నాము, ఇది “డిపార్ట్‌మెంట్” నిలువు వరుస కోసం క్రమబద్ధీకరణ చర్యను ప్రారంభించి, ఆపై క్రమబద్ధీకరణ () పద్ధతిని ఉపయోగించి ఆరోహణ క్రమంలో “DOB” నిలువు వరుస కోసం. క్రమబద్ధీకరణ పూర్తయిన తర్వాత, పరిమిత పత్రాన్ని తిరిగి పొందడానికి మేము దాని పక్కన పరిమితి() పద్ధతిని ఉంచాము. పరిమితి() పద్ధతికి సంఖ్యా విలువ “4” ఇవ్వబడింది, అంటే ఇది క్రింది స్క్రీన్‌లో చూపిన విధంగా అవుట్‌పుట్‌కు నాలుగు క్రమబద్ధీకరించబడిన పత్రాలను మాత్రమే ప్రదర్శిస్తుంది:

ఉదాహరణ # 6: MongoDB $sort అగ్రిగేషన్‌తో ప్రశ్న ఫలితాలను క్రమబద్ధీకరించండి

పైన ఉన్న అన్ని ఉదాహరణలలో, మేము MongoDB యొక్క క్రమబద్ధీకరణ () పద్ధతి ద్వారా క్రమబద్ధీకరించాము. మొంగోడిబిలో క్రమబద్ధీకరించడానికి మరొక మార్గం ఉంది, ఇది $sort అగ్రిగేషన్ ద్వారా సాధించబడుతుంది. $sort ఆపరేటర్ అన్ని ఇన్‌పుట్ డాక్యుమెంట్‌లను క్రమబద్ధీకరిస్తుంది, ఆపై క్రమబద్ధీకరించబడిన పత్రాలను పైప్‌లైన్‌కు తిరిగి ఇస్తుంది. దిగువన ఉన్న 'ఉద్యోగులు' సేకరణకు $sort ఆపరేటర్ వర్తించబడుతుంది.

db.Employees.aggregate([ { $sort : { జీతం : 1, _id: -1 } } ])

ఇక్కడ, మేము '$sort' ఆపరేటర్‌ని ఉపయోగించగల మొత్తం పద్ధతిని పిలిచాము. అప్పుడు, మేము $sort ఆపరేటర్ వ్యక్తీకరణను కలిగి ఉన్నాము, ఇది “జీతం” కాలమ్‌ను ఆరోహణ క్రమంలో మరియు “id” నిలువు వరుసను అవరోహణ క్రమంలో క్రమబద్ధీకరిస్తుంది. ఫీల్డ్‌లో వర్తించే $sort అగ్రిగేషన్ క్రింది ఫలితాలను అందిస్తుంది:

ఉదాహరణ # 6: MongoDB స్కిప్ మెథడ్‌తో ప్రశ్న ఫలితాలను క్రమబద్ధీకరించండి

సార్ట్() పద్ధతిని స్కిప్() పద్ధతితో కూడా జత చేయవచ్చు. ఫలిత డేటాసెట్‌లో స్కిప్() పద్ధతిని ఉపయోగించి విస్మరించబడే నిర్దిష్ట సంఖ్యలో డాక్యుమెంట్‌లు ఉండవచ్చు. పరిమితి() పద్ధతి వలె, దాటవేయవలసిన పత్రాల సంఖ్యను సూచించే సంఖ్యా విలువను దాటవేయి() పద్ధతి కూడా అంగీకరిస్తుంది. మేము క్రమబద్ధీకరణ ప్రశ్నలో స్కిప్() పద్ధతితో క్రమబద్ధీకరణ () పద్ధతిని మిళితం చేసాము.

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

ఇక్కడ, మేము సార్ట్() పద్ధతి పక్కన skip() పద్ధతిని ఉపయోగించాము. క్రమబద్ధీకరణ () పద్ధతి పత్రాలను క్రమబద్ధీకరించినప్పుడు, అది క్రమబద్ధీకరణ అవుట్‌పుట్‌ను క్రమబద్ధీకరణ () పద్ధతికి పంపుతుంది. ఆ తర్వాత, స్కిప్() పద్ధతి సేకరణ నుండి మొదటి నాలుగు క్రమబద్ధీకరించబడిన పత్రాలను తీసివేసింది.

ముగింపు

వ్యాసం MongoDBలో క్రమబద్ధీకరణ ప్రశ్న ఫలితాల గురించి. మేము ఈ ప్రయోజనం కోసం క్రమబద్ధీకరణ () పద్ధతిని ఉపయోగించాము, ఇది నిర్దిష్ట క్రమంలో రికార్డులను నిర్వహిస్తుంది. మేము అనేక ఫీల్డ్‌లలో బహుళ సార్టింగ్ కోసం సార్ట్() పద్ధతిని కూడా ఉపయోగించాము. ఈ ఆపరేషన్‌లను ఉపయోగించి క్రమబద్ధీకరించబడిన పత్రాలకు క్రమబద్ధీకరణ() పద్ధతి పరిమితి() మరియు స్కిప్() పద్ధతులతో జత చేయబడుతుంది అదనంగా, మేము MongoDBలో క్రమబద్ధీకరణ ప్రశ్న ఫలితాల కోసం $sort అగ్రిగేషన్‌ను అందించాము.