Database

db={"customers":[{customer_id:1,name:"Jim Smith",email:"jim.smith@example.com"},{customer_id:2,name:"Bob Jones",email:"bob.jones@example.com"}],"orders":[{order_id:1,customer_id:1},{order_id:2,customer_id:1}],"orderitems":[{order_item_id:1,name:"Foo",price:4.99,order_id:1},{order_item_id:2,name:"Bar",price:17.99,order_id:1},{order_item_id:3,name:"baz",price:24.99,order_id:2}]}

Query

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"}}])

Result