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

MongoDB k použití Sharding s $lookup Aggregation Operator

Jak vyplývá z dokumentů, které citujete, nemůžete použít $lookup na střepové sbírce. Nejlepším řešením je tedy provést vyhledávání sami v samostatném dotazu.

  1. Proveďte aggregate dotaz.
  2. Vytáhněte hodnoty "localField" z výsledků dotazu do pole, případně pomocí Array#map .
  3. Proveďte find dotaz na kolekci „from“ pomocí dotazu jako {foreignField: {$in: localFieldArray}}
  4. Slučte své výsledky do libovolného formátu, který potřebujete.

Nenechte $lookup omezení vám zabrání ve sdílení kolekcí, které to vyžadují pro škálovatelnost, stačí provést vyhledávací funkci sami.



  1. Jak mohu procházet/zobrazovat hodnoty uložené v Redis

  2. Vytváření modulu C++ Redis – neexportuje symbol RedisModule_OnLoad().

  3. Bitva o databáze NoSQL - Porovnání funkcí NoSQL MongoDB a MSSQL

  4. nastavit pole jako prázdné pro objekt mongo pomocí mongoose