Perform INNER JOIN in MongoDB using $lookup aggregation operator

In MongoDB 3.2 on ottanut käyttöön $lookup operator in aggregation framework which can be used to perform LEFT JOIN.
huomaa, että MongoDB-dataoperaatio ei ole sama kuin
relaatiotietokannan käyttödata, joten on aina suositeltavaa, että relevantit tiedot ovat samassa dokumentissa
ne, joita käytetään usein yhdessä. Mutta tietyssä tapauksessa se on pakko laittaa kahteen eri kokoelmaan erilaisten
kaltaisten takia, jotta vältettäisiin tietojen päällekkäisyys, johon meillä on raskaita päivitystoimintoja, käyttöä useissa kokoelmissa jne.

JOIN on yksi keskeisistä eroista SQL: n ja NoSQL: n tietokannan välillä, jossa MongoDB-Aggregaattina $lookup
operaattori on hyödyllinen ja tehokas saamaan liittyä kahteen kokoelmaan, kuten tekemällä sen RDBMS: ssä.

MongoDB Aggregation

katsotaan vielä:

syntaksi:

lisätietoja MEAN Stack
Development

jos olet kotoisin RDBMS Worldista, saatat odottaa tätä erillisenä asiakirjana linkittäen kaikki kentät paikallisesta
ja ulkomaisesta kokoelmasta, mutta ei, kaikki ulkomaiset dokumentit lisätään paikallisten kokoelmadokumenttien joukkoon. Koska kaikki
ulkomaalaiset dokumentit lisätään asiakirjan sisään, voit käyttää niitä vain, jos joukko ulkomaisia sukulaisia dokumentteja on
rajoitettu, eikä tulosasiakirjan koko saa ylittää asiakirjan kokorajoitusta.

Ex:

sanotaan, että on kaksi kokoelmaa ”tilaukset” ja ”tuote”, joilla on seuraavat tiedot.

tilaukset:

tuotteet:

nyt hakea tilauksen tuotteen yksityiskohtia voimme käyttää alla

Tulosasiakirjat:

normaalisti, jotta voi sisältää useita kohteita, katsotaanpa, miten voit suorittaa $lookup sisällä array Elementti.

muutetaan tilauskokoelmat näyttämään alta

tässä tapauksessa järjestys kohteet ovat array, joka
tarvitaan purkaa käyttäen $rentoutua operaattori, joka luo erillisen
asiakirjan per kohde ja sitten voit suorittaa haun. Käsikirjoitus voi näyttää alla.

tulos:

et välttämättä halua käyttää $lookup-operaattoria saadaksesi kaikki tietyn tuotteen tilaukset muissa word-liittymätilauksissa
tuotteessa. Jos myydyin tuote meillä voi olla tuhansia järjestyksessä ja kaikki lisätty yhden array voi aiheuttaa
asiakirjan kokoraja array.

Vastaa

Sähköpostiosoitettasi ei julkaista.

More: