Comme l'indiquent les documents que vous citez, vous ne pouvez pas utiliser $lookup sur une collection fragmentée. La meilleure solution consiste donc à effectuer vous-même la recherche dans une requête distincte.
- Effectuez votre
aggregaterequête. - Tirez les valeurs "localField" des résultats de votre requête dans un tableau, éventuellement en utilisant
Array#map. - Effectuer une
findrequête sur la collection "from", en utilisant une requête telle que{foreignField: {$in: localFieldArray}} - Fusionnez vos résultats dans le format dont vous avez besoin.
Ne laissez pas le $lookup limitation vous empêche de partitionner les collections qui en ont besoin pour l'évolutivité, effectuez simplement la fonction de recherche vous-même.