Както показват документите, които цитирате, не можете да използвате $lookup
на разчленена колекция. Така че най-добрата практика е да извършите търсенето сами в отделна заявка.
- Извършете своя
aggregate
запитване. - Изтеглете стойностите на „localField“ от резултатите от вашата заявка в масив, евентуално като използвате
Array#map
. - Извършете
find
заявка срещу колекцията "от", използвайки заявка като{foreignField: {$in: localFieldArray}}
- Обединете резултатите си във формат, от който се нуждаете.
Не позволявайте на $lookup
ограничението ви спира да разделяте колекции, които го изискват за мащабируемост, просто изпълнете сами функцията за търсене.