Như tài liệu bạn trích dẫn cho biết, bạn không thể sử dụng $lookup trên một bộ sưu tập đã chia nhỏ. Vì vậy, cách giải quyết tốt nhất là tự thực hiện tra cứu trong một truy vấn riêng biệt.
- Thực hiện
aggregatecủa bạn truy vấn. - Kéo các giá trị "localField" từ kết quả truy vấn của bạn vào một mảng, có thể bằng cách sử dụng
Array#map. - Thực hiện
findtruy vấn đối với tập hợp "from", sử dụng truy vấn như{foreignField: {$in: localFieldArray}} - Hợp nhất các kết quả của bạn thành bất kỳ định dạng nào bạn cần.
Đừng để $lookup giới hạn ngăn bạn phân tích các bộ sưu tập yêu cầu nó cho khả năng mở rộng, chỉ cần tự thực hiện chức năng tra cứu.