Hvordan utfører du en sammenføyning på MongoDB

Hvordan utfører du en sammenføyning på MongoDB

MongoDB er en NoSQL -type database, og det er forutsett at disse databasene ikke følger RDBMS (Relational Database Management Systems) og dermed ikke gir omfattende sammenføyningsmetoder. Imidlertid er sammenføyningskonseptet til MongoDB inspirert av SQL -databaser, fordi MongoDB imidlertid ikke ga noen sammenføyningsmetode. Du kan bli med i to samlinger i MongoDB ved hjelp av $ Lookup Operator of Aggregation.

En enkelt samling kan ikke beskrive dataene som er lagret inne i den; En samling kan inneholde slike felt som må knyttes til feltet til en annen samling for å beskrive det feltet. For dette kan du bruke $ Lookup -operatøren av aggregeringsmetoden. Imidlertid, etter introduksjonen av $se opp Operatør, brukerne kan glede seg over å bli med tilgang i MongoDB.

I denne artikkelen har vi kort forklart bruken av $ Lookup -operatøren, og noen få eksempler blir presentert som viser sammenføyningsmekanismen til MongoDB.

Hvordan Join fungerer i MongoDB

Denne delen gir den grunnleggende arbeidsmekanismen til $ Lookup -operatøren, som brukes i aggregeringsmetoden for å utføre sammenføyning i MongoDB. Syntaksen er gitt nedenfor:

Syntaks

> DB.Samlingsnavn.aggregat ([

$ oppslag:

fra: ,
Localfield:
Foreignfield:
,
som: "Array-Field"


])

Begrepene som brukes i syntaks er forklart her:

- samlingsnavn: Samlingsnavnet du er til stede på, på, eller $ Lookup -operatøren blir brukt

- fra Samlingen, du målretter deg mot å bli med

- Localfield: Dette representerer feltet for et dokument i en aktuell samling som skal brukes til å matche andre samlinger

- Utenlandsk felt: Feltet for samlingen (som skal sammenføyes) som kan representere hele dokumentet. (unik ID)

- som: Dette inneholder et matrisefelt som er opprettet etter å ha blitt med

Den kommende delen vil demonstrere å bli med i to samlinger i en MongoDB -database.

Forutsetninger

Som nevnt tidligere, ved hjelp av $ Lookup -operatøren, kan du matche to samlinger av en database. Så for å utføre denne operasjonen, må du trenge to samlinger fra en database.

I dette innlegget har vi brukt “personale”Og“info”Som en samling av en“Linuxhint”Database. Vær forsiktig mens du velger en samling, fordi du bare kan bli med i to samlinger som er bosatt i det samme database.

personale”Samlingen inneholder følgende dokumenter inni den: Kommandoen nevnt nedenfor brukes til å hente dokumenter av en“personale”Samling.

> DB.personale.finne().ganske()

Og innhold av andre samling "info”Vises ved å utstede følgende kommando:

> DB.info.finne().ganske()

Hvordan bli med i to samlinger i MongoDB

I denne delen vil du lære å utføre en sammenføyning i MongoDB. For det har vi utført handlingen for å bli med i “personale”Samling med“info”Samling.

I den nedenfor-nevnte kommandoen utøver den samlede metoden $ Lookup-operatøren for å få informasjonen fra begge samlingene og vil bli med dem basert på følgende tilstand:

Hvis “Localfield”Av“personale”Samling samsvarer med“Foreignfield”Av“info”Samling.

> DB.personale.aggregat ([

$ oppslag:

Fra: "Info",
Localfield: "_id",
Foreignfield: "_id",
som: "Staff_info"


])

Forbindelsen kan sees i output-delen av det nedenfor-tappede bildet. Vi har brukt følgende etikett for å gi en bedre forståelse.

Inngang”Og“produksjon”Etiketter viser henholdsvis den innsatte kommandoen og resultatet. Dataene fra begge samlingene etter sammenføyning er også merket og et matrisefelt "Staff_info”Inneholder dataene fra“info”Samling etter å ha blitt med.

Konklusjon

MongoDB er kjent på grunn av den omfattende støtten til behandlingen av data i en database. Den støtter imidlertid ikke noen dedikert metode for å delta i samlinger som i SQL-baserte databaser. Alternativ til å bli med, MongoDB støtter en $ oppslagsoperatør som kan brukes i aggregeringsmetoden for å utføre venstre sammenføyning. I denne opplæringen av MongoDB -serien har vi forklart arbeidsfenomenet til $ Lookup -operatøren i aggregeringsmetoden. Ved å følge denne guiden ville en Mongo -entusiast kunne være med på en samling med en annen ..