Udfør indre sammenføjning i MongoDB ved hjælp af $lookup aggregation operator

i MongoDB 3.2 har introduceret $lookup operator i aggregeringsramme, som kan bruges til at udføre venstre sammenføjning.
Bemærk, at MongoDB data operation ikke er som
drift af data i relationsdatabase, så det er altid tilrådeligt at have relevante data til at være inden for det samme dokument
dem, der ofte bruger sammen. Men i et bestemt tilfælde er det nødvendigt at indsætte to forskellige samlinger på grund af forskellige
lignende for at undgå dataduplikation, som vi har tunge opdateringsoperationer til, brug i flere samlinger osv.

JOIN er en af nøgleforskellen mellem Database og database, hvor operatøren som MongoDB Aggregation $lookup
er hjælpsom og kraftfuld til at deltage i to samlinger som at gøre det i RDBMS.

MongoDB Aggregation

lad os se yderligere:

syntaks:

Lær mere om MEAN Stack
udvikling

hvis du kommer fra RDBMS-verdenen, forventer du muligvis dette, da separat dokument forbinder alle felter fra den lokale
og udenlandsk samling, men nej, alle udenlandske dokumenter tilføjes som en række lokale indsamlingsdokumenter. Da alle
udenlandsk dokument tilføjet inde i dokumentet, kan du kun bruge, hvis et antal udenlandske relative dokumenter er
begrænsede og ikke gør størrelsen på resultatdokumentet til at overskride grænsen for dokumentstørrelse.

eks:

lad os sige har to samlinger ‘ordrer’ og ‘produkt’ med følgende data.

ordrer:

produkter:

nu for at hente ordre med produktdetaljer kan vi bruge nedenfor

resultat dokumenter:

normalt kan ordren indeholde flere elementer, lad os se, hvordan du kan udføre $opslag inden array element.

lad os ændre ordresamlinger for at se ud nedenfor

i dette tilfælde er ordreelementer i array, som
kræves for at slappe af ved hjælp af $slappe af operatør, som opretter separat
dokument pr. Script kan se ud nedenfor.

resultat:

du vil muligvis ikke bruge $lookup operator til at få alle ordrer for et bestemt produkt i andre ord slutte ordrer på
produkt. I tilfælde af bedst sælgende produkt kan vi have tusindvis ordre og alle tilføjet inden for enkelt array kan forårsage
dokument størrelse grænse array.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

More: