Som de dokumenter, du citerer, angiver, kan du ikke bruge $lookup
på en sønderdelt samling. Så den bedste løsning er at udføre opslag selv i en separat forespørgsel.
- Udfør dit
aggregate
forespørgsel. - Træk "localField"-værdierne fra dine forespørgselsresultater ind i en matrix, muligvis ved hjælp af
Array#map
. - Udfør en
find
forespørgsel mod samlingen "fra" ved hjælp af en forespørgsel som{foreignField: {$in: localFieldArray}}
- Flet dine resultater til det format, du har brug for.
Lad ikke $lookup
begrænsning forhindrer dig i at sønderdele samlinger, der kræver det for skalerbarhed, bare udfør opslagsfunktionen selv.