Seperti yang ditunjukkan oleh dokumen yang Anda kutip, Anda tidak dapat menggunakan $lookup
pada koleksi sharding. Jadi solusi praktik terbaik adalah melakukan pencarian sendiri dalam kueri terpisah.
- Lakukan
aggregate
kueri. - Tarik nilai "localField" dari hasil kueri Anda ke dalam larik, kemungkinan menggunakan
Array#map
. - Lakukan
find
kueri terhadap koleksi "dari", menggunakan kueri seperti{foreignField: {$in: localFieldArray}}
- Gabungkan hasil Anda ke dalam format apa pun yang Anda butuhkan.
Jangan biarkan $lookup
batasan menghentikan Anda dari sharding koleksi yang memerlukannya untuk skalabilitas, cukup lakukan fungsi pencarian sendiri.