Come indicano i documenti che citi, non puoi utilizzare $lookup
su una raccolta frammentata. Pertanto, la soluzione migliore per la pratica consiste nell'eseguire la ricerca da soli in una query separata.
- Esegui il tuo
aggregate
interrogazione. - Trascina i valori "localField" dai risultati della tua query in un array, possibilmente utilizzando
Array#map
. - Esegui un
find
eseguire una query sulla raccolta "from", utilizzando una query come{foreignField: {$in: localFieldArray}}
- Unisci i tuoi risultati nel formato di cui hai bisogno.
Non lasciare che la $lookup
limitazione ti impedisce di partizionare le raccolte che lo richiedono per la scalabilità, esegui tu stesso la funzione di ricerca.