Hvordan du bruker $ størrelse operatør i mongoDB

Hvordan du bruker $ størrelse operatør i mongoDB
MongoDB støtter flere operatørsett som hjelper til med å gi effektive og raske resultater. I MongoDB består Array Operator -klassen av flere operatører som brukes til å hente dokumenter ved å referere til matriser; $ størrelse er en av dem. De $ størrelse Operatør i MongoDB brukes til å hente dokumentet som har et matrisefelt av en bestemt størrelse. $ -Størrelsen omhandler bare matriser og aksepterer bare numeriske verdier som en parameter.

I denne informative guiden vil vi demonstrere bruken av operatøren på $ i MongoDB:

Hvordan $ størrelse operatør fungerer i MongoDB

Vi har brutt ned den primære funksjonen til $ størrelse Operatør i MongoDB i følgende trinn: For det første samsvarer det med et matrisefelt med hensyn til størrelsen som er satt inn av brukeren; og henter deretter dokumentene som inneholder feltene som tilfredsstiller trinnet ovenfor

Syntaksen til $ størrelse Operatøren er definert som:

Array-Field: $ size:

Her, Array-felt refererer til navnet på det målrettede feltet i et dokument og lengde-of-any-array betegner noe numerisk nummer som samsvarer med lengden.

Hvordan bruke operatøren på $ størrelse i MongoDB

I denne guiden vil vi bruke følgende database og innsamlingsnavn:

  • Linuxhint er databasen som vi skal bruke her
  • bærbare datamaskiner vil bli brukt som et samlingsnavn som lenker til Linuxhint database

La oss få listen over dokumenter som er til stede i eksempler i eksempler bærbare datamaskiner Samling ved å følge kommandoen:

> DB.bærbare datamaskiner.finne().ganske()

Eksempel 1: Grunnbruk av operatør for $ størrelse i MongoDB

Dette eksemplet guider deg til å få grunnleggende bruk av $ størrelse operatør:

Med henvisning til dokumentene som er til stede i “bærbare datamaskiner”Samlingen, kommandoen som er nevnt nedenfor, henter dokumentet der matrisefeltet er av lengde 3:

> DB.bærbare datamaskiner.finn (make: $ size: 3).ganske()

Bare ett dokument hentes som inneholder en matrise lengde på 3 i "Gjøre" felt.

Eksempel 2: Bruke operatør for $ størrelse med nestede matriser

Ettersom den grunnleggende bruken av $ størrelse er å få utgangen som bare samsvarer med den spesifiserte matriselengden. Det teller et nestet utvalg som en enkelt enhet. La oss si at det er en matrise som inneholder en enkelt nestet matrise og en verdi, operatøren på $ størrelse vil ikke gå for verdiene til den nestede matrisen, men det teller det en enkelt verdi. Dermed ville den totale lengden på overordnet matrise være “2“:

Mongo -spørringen som er skrevet nedenfor, henter dokumentene som har matriselengder på “2“:

> DB.bærbare datamaskiner.finn (make: $ size: 2).ganske()

Skjønt, reirgruppen inneholder 2 Verdier i det, men det regnes som en verdi og derfor er den totale lengden på overordnede matriser 2:

Eksempel 3: Bruke operatør for $ størrelse med feil lengde

Hva om du har lagt inn en lengde som ikke stemmer overens i den målrettede samlingen? La oss sjekke det ved hjelp av følgende kommando:

> DB.bærbare datamaskiner.finn (make: $ size: 5).ganske()

Kommandoen vil bli utført, men vil ikke vise noe fordi samlingen vår ikke har noen rekke lengde "5“.

Merk: Imidlertid kan du få resultatet ved å bruke "$ hvor”Operatør med“$ eksisterer”Operatør, men henrettelsen vil være treg i dette tilfellet. Kommandoen som er nevnt nedenfor vil vise dokumentene som har array -lengde større enn eller tilsvarer 4:

> DB.bærbare datamaskiner.finn (make: $ eksisterer: true, $ hvor: 'dette.Gjøre.lengde> = 4 ').ganske()

Konklusjon

Array -spørringsoperatører brukes i MongoDB for å hente dokumenter ved å referere til matriser. Operatørene som omhandler matriser i MongoDB er $ størrelse, $ alle og $ elematch. Denne guiden målrettet operatøren på $ størrelse, og du kan få en kort introduksjon etterfulgt av noen eksempler på $ størrelse operatør i MongoDB. Den primære bruken er å få dokumentene fra en spesifikk samling ved å bruke lengden på en matrise. Selv om den samme funksjonaliteten kan oppnås ved bruk av $ hvor og $ eksisterer også operatører, tar de tid og en lang syntaks for å gjøre det.