Como os documentos citados indicam, você não pode usar
$lookup
em uma coleção fragmentada. Portanto, a solução de prática recomendada é realizar a pesquisa você mesmo em uma consulta separada. - Faça sua
aggregate
consulta. - Puxe os valores "localField" dos resultados da sua consulta para uma matriz, possivelmente usando
Array#map
. - Executar uma
find
consulta na coleção "from", usando uma consulta como{foreignField: {$in: localFieldArray}}
- Mescle seus resultados em qualquer formato que você precisar.
Não deixe o
$lookup
Se essa limitação impedir você de fragmentar coleções que exigem escalabilidade, basta executar a função de pesquisa por conta própria.