Hvordan bruker du projeksjon for å vise de nødvendige dataene i MongoDB?
MongoDB -projeksjonen er basert på den nåværende funn () -metoden. Dermed kan vi spesifisere enhver projeksjonsspørsmål som krever betydelige endringer i gjeldende funn () -metode. Måten projeksjon brukes i MongoDB er slik: “Finn (, “ Field_name ”:“ Value ”)”. Projeksjonssyntaksen i MongoDB er den samme som Find () -metoden, men vi legger til et sett med argumenter i Find () -metoden. Dette settet med argumenter varsler MongoDB -forekomsten hvilket datafelt som skal returneres. Vi har brukt samlingen “kake” der MongoDB -projeksjonen er implementert. Men for dette må vi legge til dokumenter i den samlingen. Vi har brukt InsertMany () -metoden til MongoDB for innsetting av dokumentet. Spørringen om å sette inn dokumentene i "kake" -samlingen er som følger:
db.Kake.INSERTMANY ([Her har vi vellykket satt inn dokumentet vist på bildet for bruk av projeksjonsteknikken.
Eksempel 1: MongoDB -projeksjon for det spesifiserte feltet.
Her har vi bare hentet enkeltfeltet ved å sende prosjektparameteren til Find () -metoden. Vi har følgende spørsmål der Find () -metoden tar de tomme valgkriteriene og projeksjonsparameteren. Projeksjonsparameteren legger inn feltet “Navn” som er tilordnet med den numeriske verdien “1” for bare å vise det feltet som en utgang. _ID er satt med verdien “0” fordi Find () -metoden alltid returnerer _id -feltet i utgangen.
db.Kake.finn (, navn: 1, _id: 0)Alle dokumentene vises nedenfor, men med bare et "navn" på et enkelt felt sammen med den tilsvarende verdien fordi projeksjonen brukes på det feltet.
Eksempel nr. 2: MongoDB -projeksjon for flere felt.
Nå spesifiserer vi flere felt til projeksjonsparameteren til Find () -metoden for å vise dataene for bare disse feltene fra dokumentene. Her har vi et projeksjonsspørsmål som er satt med feltet "Navn" og "Kalorier". Ettersom disse feltene tildeles verdien “1” som indikerer at dataene til bare disse feltene blir hentet etter å ha kjørt projeksjonsspørsmålet.
db.Kake.finn (, "_id": 0, "Navn": 1, "kalorier": 1)Derfor har vi hentet dataene fra bare de feltene som er satt som projeksjonsparameter.
Eksempel nr. 3: MongoDB -projeksjon for den spesifiserte tilstanden.
Vi har gitt projeksjonserklæringen i det nevnte eksemplet uten valgkriteriene. Nå bruker vi projeksjonserklæringen sammen med tilstanden. I projeksjonsspørsmålet nedenfor har vi brukt Find () -metoden der vi først har satt valgkriteriene om at feltet "Status" skal være lik verdien "tilgjengelig". Deretter legger vi inn feltene "pund" og "pris" som projeksjonsparameter med verdien "1". Disse feltene viste bare dokumenters data som tilfredsstilte tilstanden “Status:“ Tilgjengelig ”.
db.Kake.finne(Vi har bare tre dokumenter hvis status er "tilgjengelig" som vises i utdataene med feltene som er satt som projeksjon.
Eksempel 4: MongoDB -projeksjon for det spesifiserte feltet bortsett fra ekskluderte felt.
I denne projeksjonsspørsmålet har vi merket feltene med verdien “0” for å ekskludere dem fra det returnerte dokumentet. Vi har distribuert Find () -metoden der uttrykket “Status: tilgjengelig” og settet med projeksjonsargumenter er gitt. Projeksjonsparameteren har gitt feltene "status" og "pris" med verdien "0". Verdien “0” indikerer at disse feltene ikke vises når dokumentet for de gitte kriteriene returneres.
db.Kake.finn (status: "tilgjengelig", status: 0, pris: 0)De feltene hvis status er "tilgjengelig" i dokumentene vises i bildet, bortsett fra det ekskluderte feltstatus og pris.
Eksempel nr. 5: MongoDB -projeksjonsoperatør “$ skive”.
Projeksjonsspørsmålet optimaliserer søket og reduserer arbeidsflyten når operatørene blir brukt. Vi har flere operatører av projeksjonsspørsmål som vi har brukt $ skiveoperatøren i dette eksemplet. $ Slice -operatøren begrenser antall dokumenter som er returnert som en utdata fra projeksjonsspørsmålet. Her har vi en projeksjonsspørsmål om $ skiveoperatøren. Vi har påkalt Find () -metoden som er definert med den tomme parameteren først der tilstanden er satt. Deretter har vi satt Find () -metoden med projeksjonsparameteren. Projeksjonsparameteren er spesifisert med uttalelsen “Pounds: $ skive: 3”. "Pounds" -feltet bruker $ skiveoperatøren som er satt med verdien “3” for å binde dokumentene som returneres i utdataene.
db.Kake.finn (, pund: $ skive: 3)Følgende bilde viste bare tre dokumenter i utdataene fordi $ skiveoperatøren av projeksjonsuttalelsen begrenser det med en gitt verdi.
Eksempel 6: MongoDB -projeksjonsoperatør “$ Elematch”.
Nå har vi brukt en annen projeksjonsoperatør “$ elematch”. $ Elematch -operatøren projiserer den første matchede verdien fra en matrise. Uttrykkene på $ tekst spørring støttes ikke av $ elematch av projeksjonsoperatøren. Videre er den eksplisitte tilstanden påkrevd for $ elematch -projeksjonsoperatøren. Vi har satt et projeksjonsspørsmål der valgkriteriene først blir tildelt Find () -metoden og projeksjonen blir implementert. For projeksjonsparameteren har vi gitt feltet "topping". "Topping" -feltet har $ Elematch -operatøren der tilstanden "SprinklePrice": 90 er tilordnet for å matche elementene fra matrisen.
db.Kake.Finn ("Navn": "Ice Cake", Topping: $ elematch: "SprinklePrice": 90)Dette er dokumentene vi har hentet i utdataene etter $ elematch -operatøren av projeksjonsspørsmålet.
Konklusjon
Guiden utforsket funksjonaliteten til MongoDB -projeksjonen. MongoDB -projeksjonen refererer til å samle inn bare relevante data i stedet for hele datasettet til et dokument. Vi har lært hvordan du bruker projeksjonsspørsmålet til å skaffe nødvendige data fra den gitte samlingen. Vi har utført flere projeksjonsspørsmål for å inkludere og ekskludere de spesifikke feltene ved å bruke “1” og “0” verdiene. I tillegg har vi også brukt projeksjonsoperatørene "$ skive" og "$ elematch" i projeksjonsspørsmålet.