Provádět VNITŘNÍ spojení v MongoDB pomocí $vyhledávání agregace operátor

V MongoDB 3.2 zavedla $vyhledávací operátor v rámci agregace, které mohou být využity provést left JOIN.
Vezměte prosím na vědomí, že MongoDB datový provoz není jako
provozní data v relační databázi, takže je vždy vhodné mít relevantní data, která mají být ve stejném dokumentu
ty, které často používají společně. V určitém případě je však nutné vložit dvě různé sbírky kvůli různým
, aby se zabránilo duplikaci dat, pro které máme těžké operace aktualizace, použití ve více sbírkách atd.

JOIN je jedním z klíčových rozdílů mezi databází SQL a NoSQL, kde jako MongoDB agregace $ lookup
operátor je užitečný a výkonný, aby se připojil pro dvě sbírky, jako je to v RDBMS.

MongoDB agregace

podívejme se dále:

syntaxe:

Dozvědět se více o Stack
Rozvoj

Pokud jsou na cestě z RDBMS světě, pak můžete očekávat jako samostatný dokument odkaz, všechna pole z místní
a zahraniční kolekce, ale NE všechny zahraniční dokumenty budou přidány jako pole místní sbírka dokument. Protože všechny
zahraniční dokument přidán do dokumentu můžete chtít použít pouze tehdy, pokud se počet zahraničních relativní dokumenty jsou
omezené a ne dělat velikost dokumentu s výsledky překročit limit velikosti dokumentu.

Ex:

řekněme, že mají dvě sbírky „objednávky“ a „produkt“ s následujícími údaji.

Objednávky:

Produkty:

Nyní načíst, aby se detail produktu, můžeme použít níže

Výsledek dokumentů:

Normálně objednávka obsahuje více položek, uvidíme, jak můžete provádět dolarů vyhledávání v prvku pole.

řekněme, změna objednávky kolekce vypadat jako níže

V tomto případě, aby položky jsou v poli, které
nutné uvolnit pomocí $odpočinout subjekt, který bude vytvářet samostatné
dokument na položku a pak můžete provést vyhledávání. Skript může vypadat níže.

Výsledek:

možná nebudete chtít použít $vyhledávací operátor získat všechny objednávky na konkrétní produkt, v jiné slovo spojit objednávky na
produkt. V případě nejprodávanějšího produktu můžeme mít tisíce objednávek a všechny přidané do jediného pole mohou způsobit
limitní pole velikosti dokumentu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

More: