Lakukan pencarian bersarang menggunakan pencarian dengan pipeline ,
$lookup
denganorders
koleksi,let
, tentukan variabelcustomer_id
yaitu dari koleksi utama, untuk mengakses variabel referensi ini di dalam pipa menggunakan$$
seperti$$customer_id
,pipeline
dapat menambahkan tahapan pipeline sama seperti yang kita lakukan di pipeline level root$expr
setiap kali kami mencocokkan bidang internal, itu membutuhkan kondisi kecocokan ekspresi, jadi$$customer_id
adalah bidang koleksi induk yang dideklarasikan dalamlet
dan$customer_id
adalah bidang koleksi anak/koleksi saat ini
$lookup
denganorderitems
koleksi
db.customers.aggregate([
{
$lookup: {
from: "orders",
let: { customer_id: "$customer_id" },
pipeline: [
{ $match: { $expr: { $eq: ["$$customer_id", "$customer_id"] } } },
{
$lookup: {
from: "orderitems",
localField: "order_id",
foreignField: "order_id",
as: "items"
}
}
],
as: "orders"
}
}
])