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.
- Proveďte
aggregatedotaz. - Vytáhněte hodnoty "localField" z výsledků dotazu do pole, případně pomocí
Array#map. - Proveďte
finddotaz na kolekci „from“ pomocí dotazu jako{foreignField: {$in: localFieldArray}} - 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.