Som dokumenten du citerar indikerar kan du inte använda $lookup
på en delad samling. Så den bästa lösningen är att utföra sökningen själv i en separat fråga.
- Utför din
aggregate
fråga. - Placera "localField"-värdena från dina frågeresultat till en array, eventuellt med
Array#map
. - Utför en
find
fråga mot samlingen "från" med en fråga som{foreignField: {$in: localFieldArray}}
- Slå samman dina resultat till det format du behöver.
Låt inte $lookup
begränsning hindrar dig från att skära samlingar som kräver det för skalbarhet, utför bara uppslagsfunktionen själv.