sql >> Databáze >  >> NoSQL >> MongoDB

Hledejte ve více kolekcích v MongoDB

Tato odpověď je zastaralá. Od verze 3.2 má MongoDB omezenou podporu pro levá vnější spojení s operátorem agregace $lookup

MongoDB neprovádí dotazy, které zahrnují více kolekcí - tečka. Když potřebujete spojit data z více kolekcí, musíte to udělat na úrovni aplikace zadáním více dotazů.

  1. Sbírka dotazů A
  2. Získejte sekundární klíče z výsledku a vložte je do pole
  3. Kolekce dotazů B předávající toto pole jako hodnotu $in-operator
  4. Propojte výsledky obou dotazů programově na aplikační vrstvě

To by mělo být spíše výjimkou než normou. Když často potřebujete emulovat JOINy, jako je tento, znamená to buď, že při navrhování schématu databáze stále přemýšlíte příliš relační, nebo že vaše data prostě nejsou vhodná pro koncept úložiště založeného na dokumentech MongoDB.



  1. Jak získat data ReferenceField v mongoengine?

  2. Jak formátovat čísla s čárkami v SQL

  3. Základy řetězové replikace MongoDB

  4. Co je Hadoop Mapper Class v MapReduce?