Como indican los documentos que cita, no puede usar $lookup
en una colección fragmentada. Por lo tanto, la solución alternativa recomendada es realizar la búsqueda usted mismo en una consulta separada.
- Realice su
aggregate
consulta. - Extraiga los valores de "localField" de los resultados de su consulta en una matriz, posiblemente usando
Array#map
. - Realizar una
find
consulta contra la colección "from", usando una consulta como{foreignField: {$in: localFieldArray}}
- Combine sus resultados en cualquier formato que necesite.
No dejes que $lookup
limitación le impide fragmentar las colecciones que lo requieren para la escalabilidad, simplemente realice la función de búsqueda usted mismo.