Hvordan finne av ID i MongoDB

Hvordan finne av ID i MongoDB
MongoDB er en NoSQL -type database som lagrer data i dokumenter som nøkkelverdipar. MongoDB støtter robuste hentingskommandoer og operatører som gjør det gunstig blant andre DBMS (databasestyringssystemer). Den mest brukte metoden for MongoDB er finne() metode som hjelper til med å vise dokumentene etter en hvilken som helst ordre eller spørring gitt til den. Som andre databasestyringssystemer oppretter MongoDB en standard unik ID (Primærnøkkel i de fleste DBMS) for hvert dokument.

I MongoDB er det ganske enkelt og effektivt å samhandle med dokumenter ved å bruke unike ID -er. De finne() Metode for MongoDB kan også brukes på en MongoDB -samling, ved å referere til Ids av dokumentene. Hele prosessen der dokumenter hentes ved å bruke unike ID -er i finne() Metoden er navngitt som “Finn () av ​​ID”.

I dette innlegget av MongoDB -serien vil vi gi en sekvensiell guide for å bruke Find () -metode for å hente dokumenter etter ID -er.

Hvordan finne ved ID -metoden fungerer i MongoDB

I Mongodb, den finn () etter id Metode er en forlengelse av finne() metode og derfor er den primære syntaksen som brukes den samme som av finne() metode. Syntaksen som skal brukes finn () etter id er gitt nedenfor:

db.Samlingsnavn (_ id:)

I MongoDB er det to muligheter for en unik ID:

  • Hvis brukeren definerer ID -verdi mens den setter inn dokumentene, må den være unik.
  • Hvis brukeren ikke oppretter en unik ID, genererer MongoDB automatisk den unikt for hvert dokument.

Hvordan bruke Finn ved ID -metode i MongoDB

Før du starter bruken av finn med id på en samling; Følgende MongoDB -baserte forekomster vil bli brukt i denne opplæringen:

Databasenavn: Linuxhint”Er databasenavnet som brukes i denne guiden

Samling (er) -navn: To samlinger av “Linuxhint”Database brukes som kalles“distribusjoner”Og“ansatte“.

Eksempel 1: brukerdefinert ID

distribusjoner”Samling vil bli brukt i dette eksemplet. Som nevnt tidligere, når brukeren setter inn hvert dokument med "_id”Felt så blir det brukerdefinerte unike ID -er: for eksempel dokumentene som er satt inn i“distribusjoner”Samlingen inneholder brukerdefinert ID -er (1,2,3 .. ) Som det kan sees i utgangen nedenfor:

> DB.distribusjoner.finne().ganske()

Du kan hente ethvert dokument ved referanse id I Find () -metoden. For eksempel vil kommandoen skrevet nedenfor bidra til å hente et dokument som har "_id”Verdi 2:

> DB.distribusjoner.finn (_ id: 2)

Tilsvarende kan du få et hvilket som helst annet dokument ved å bruke "finn med id”Metode.

Bruke funn etter ID og sorteringsmetoder på brukerdefinerte ID-er: Dessuten ved hjelp av finn () metode og sorter () Metode, Du kan få utdataene i stigende rekkefølge av ID -er.

Kommandoen nevnt nedenfor viser anvendelsen av "finne”Og“sortere”Metoder på ID -er for“distribusjoner”Samling.

Merk: Sorteringsordren kan være “1”Eller“-1,”Som står for å stigende eller synke henholdsvis.

> DB.distribusjoner.finne().Sorter (_ id: -1)

Eksempel 2: Systemdefinert ID

Her, i dette eksemplet, “ansatte”Samling brukes, og denne samlingen inneholder dokumenter som har systemdefinert“ids”Som vist i utgangen nedenfor:

> DB.ansatte.finne().ganske()

Du vil se at “_id”Feltet inneholder en kompleks, unik ID for hvert dokument.

Så for å hente et hvilket som helst dokument, må du passere den lange ID -en som vist i kommandoen nedenfor:

> DB.ansatte.Finn (_ ID: ObjectId ("616d7ca2cb1032dfa6345840"))

Bruke funn etter ID og sorteringsmetoder på systemdefinerte ID-er: Som på brukerdefinert ID; Du kan bruke Sorter-metoden på systemdefinerte ID-er for å få utdataene i enten stigende eller synkende rekkefølge:

Kommandoen skrevet nedenfor vil sortere dokumentene til “ansatte”Samling i synkende rekkefølge:

> DB.ansatte.finne().Sorter (_ id: -1)

Merk: Syntaksen er den samme, men samlingsnavnet er annerledes, og IDs definisjon er også annerledes.

Mens du arbeider med systemdefinerte ID-er, har du feilaktig satt inn feil lengde på "_id,”Da kan du møte følgende feil:

Eller hvis du vil hente systemet definert "ID -er”Av brukerdefinert“id"Kommandoen vil bli utført, men vil ikke vise noen utdata fordi brukerdefinerte ID-er ikke eksisterer på"ansatte”Samling:

Konklusjon

Finn () -metoden til MongoDB inneholder en omfattende liste over støttede operatører og kommandoer som hjelper til med å hente dokumenter i en raffinert form. Den unike IDen kan brukes med Find () -metoden for å få dokumentene basert på ID -ene. Ved å følge denne guiden kan Mongo -brukere få dokumentene ved å bruke IDen til disse dokumentene i Find () -metoden. For bedre forståelse er det gitt noen få eksempler som viser bruken av “finn () av ​​id ” Metode i MongoDB.