Hvordan sorterer MongoDB -spørsmål?
Sorteringsmetoden tar feltet og tilhørende verdi som en enkelt parameter. Sorteringsmetoden godtar parametere i JSON -formatet som felt: verdi. Flere felt og verdier kan også legges inn i sorteringsmetoden () for å få de sorterte dokumentene fra samlingen. Tenk på følgende dokument der vi har satt inn mange andre dokumenter i databasen vår. Navnet på denne MongoDB -databasen har tittelen “Ansatte”. Samlingen "ansatte" har all informasjon fra de ansatte vist nedenfor.
db.Ansatte.INSERTMANY ([Samlingen "ansatt" er satt inn med dokumentene som er gitt hvis bekreftelse vises i følgende utdata. Vi kommer til å bruke dette samlingsdokumentet for å vise funksjonaliteten til typen spørringsresultater.
Eksempel nr. 1: MongoDB Usortert samling
Når søket blir utført med Find () -metoden, gir den alltid en usortert samling av dokumenter. Dette kan være tydeligere med spørringsresultatene gitt nedenfor.
> DB.Ansatte.finn (, _ id: 0)Her har vi en spørring av "ansattes" -samling med Find () -metoden. Find () -metoden tar den tomme parameteren sammen med “_id: 0”. For et enklere resultat fjernes dokument -IDen ved hjelp av "_id: 0" -operatøren. Som standard får vi usorterte samlinger når spørringen søkes med Find () -metoden. Utgangen hentet nedenfor er alle usorterte dokumenter på en måte som vi har på innsettingstidspunktet.
Eksempel nr. 2: MongoDB Sort Query resulterer i stigende rekkefølge
Den sorterte samlingen i MongoDB oppnås ved å bruke Sort () -metoden som skal plasseres etter Find () -metoden. Sorter () -metoden i MongoDB tar parameteren som er inkludert i feltnavnet og rekkefølgen å sortere dokumentet. Vi må legge inn “1” som en parameter i feltet siden vi skal hente dokumentene i stigende rekkefølge i akkurat dette eksemplet. Følgende i typen spørring resulterer i stigende rekkefølge.
> DB.Ansatte.finne().Sorter (navn: 1)Her har vi brukt Sort () -metoden etter Find Search Query. Sorter () -metoden brukes til å sortere feltet "Navn" i stigende rekkefølge ettersom verdien “1” plasseres ved siden av det spesifiserte feltet. Merk at hvis sorteringen () -metoden ikke er spesifisert med noen parametrisk verdi, vil ikke samlingen ikke bli sortert. Utgangen fra sort () -metoden vil bli oppnådd i standardordren. Resultatene fra Sort () -metoden etter navnfelt i stigende rekkefølge vises i følgende MongoDB -skall.
Eksempel nr. 3: MongoDB Sort Query resulterer i synkende rekkefølge
Nå viser vi sorteringsresultatene til MongoDB i synkende rekkefølge. Denne typen spørringer er den samme som eksemplet ovenfor, men med en forskjell. For synkende rekkefølge tar Sort () -metoden verdien “-1” mot kolonnenavnet. Sorteringsforespørselen resulterer i synkende rekkefølge er gitt nedenfor.
> DB.Ansatte.finn (, "e -post": 1, _id: 0).Sorter ("E-post":-1)Her begynner søkespørringen med Find () -metoden som finner feltet “E -post” og returnerer bare feltet “E -post” -verdier. Deretter har vi spesifisert Sort () -metoden som brukes til å sortere "e-post" -feltet, og verdien "-1" ved siden av indikerer at sorteringsresultatene som er oppnådd vil være i synkende rekkefølge. Resultatene for synkende ordre sort spørring blir hentet etter å ha utført den i MongoDB -skallet.
Eksempel 4: MongoDB Sort Query Results for flere felt
Vi kan sortere flere feltene i MongoDB med Sort () -metoden. Feltene som skal sorteres, bør erklæres i sorteringen () -metoden. Sorteringen er basert på erklæringens ordre på feltet, og sorteringsordren blir undersøkt fra venstre mot høyre. Spørringen for å sortere flere felt skal se slik ut:
> DB.Ansatte.finn (, _ id: 0).Sorter ("Navn": 1, "Lønn": 1)Her sendes sort () -metoden med "Navnet" og "lønn" -feltene som skal sorteres. Feltet "Navn" fra "Ansattes" -samling blir sortert først fordi det er det første argumentfeltet for Sort () -metoden. Deretter sorterer sort () -metoden det andre argumentfeltet "lønn". Rekkefølgen på begge feltene er “1” som indikerer at sortering vil være i stigende rekkefølge. Utgangen for flere felt av sort -spørring genereres i den spesifiserte sorteringsrekkefølgen nedenfor.
Eksempel nr. 5: MongoDB Sort Query Results med grensemetode
Videre kan sort () -metoden også kombinere med grensen () -metoden som gir det begrensede antallet av de sorterte dokumentene med det søket. Limit () -metoden krever et heltall som en parameter, som begrenser antall dokumenter som skal inkluderes i utgangssettet. Søksspørringen er angitt nedenfor som først sorterer dokumentet og gir deretter de spesifiserte grensedokumentene.
> DB.Ansatte.finn (, _ id: 0).Sorter ("avdeling": 1, "DOB": 1).grense (4).ganske()Her har vi søket som begynner på sorteringsoperasjonen for "avdelingen" -kolonnen og deretter for "DOB" -kolonnen i stigende rekkefølge ved å bruke Sort () -metoden. Når sortering er oppnådd, har vi plassert grensen () -metoden ved siden av for å hente det begrensede dokumentet. Limit () -metoden er gitt en numerisk verdi “4” som betyr at den bare viser fire sorterte dokumenter til utdataene som vist på følgende skjermbilde:
Eksempel nr. 6: MongoDB Sort Query Results med $ Sorter aggregering
I alle eksemplene ovenfor har vi utført sortering via sort () -metoden til MongoDB. Det er en annen måte å sortere på i MongoDB som oppnås gjennom $ Sort Aggregation. $ Sort -operatøren sorterer alle inngangsdokumenter som deretter returnerer de sorterte dokumentene til rørledningen. $ Sort -operatøren brukes på "ansatte" -samlingen nedenfor.
db.Ansatte.Aggregate ([$ sorter: lønn: 1, _id: -1])Her har vi ropt ut den samlede metoden som vi kan bruke "$ sort" -operatøren. Deretter har vi $ Sort Operator -uttrykket som sorterer "lønn" -kolonnen i stigende rekkefølge og "ID" -kolonnen i synkende rekkefølge. $ Sort -aggregeringen som brukes på feltet, gir følgende resultater:
Eksempel nr. 6: MongoDB Sort Query Results med hoppemetode
Sorter () -metoden kan også kobles sammen med hopp () -metoden. Det resulterende datasettet kan ha et visst antall dokumenter som vil bli ignorert ved hjelp av hopp () -metoden. Som grensen () -metoden, aksepterer hopp () -metoden også den numeriske verdien som indikerer antall dokumenter som skal hoppes over. Vi har kombinert Sort () -metoden med hopp () -metoden i Sort Query.
> DB.Ansatte.finn (, _ id: 0).Sorter ("lønn": 1).hopp over (4).ganske()Her har vi brukt hopp () -metoden ved siden av Sort () -metoden. Når metoden () sorterer dokumentene, passerer den sorteringsutgangen til sorteringen () -metoden. Etter det fjernet hopp () -metoden de fire første sorterte dokumentene fra samlingen.
Konklusjon
Artikkelen handler om typen spørresultater i MongoDB. Vi har brukt Sort () -metoden for dette formålet som organiserer postene i en spesifisert sekvens. Vi har også brukt Sort () -metoden for flere sorteringer på tvers av flere felt. Sorter () -metoden blir deretter sammenkoblet med grensen () og hopp over () til de sorterte dokumentene som bruker disse operasjonene i tillegg, har vi gitt $ sort aggregering for sorteringsresultater i MongoDB.