Database
db={"users":[{_id:"6124bbd2f8eacfa2ca662f29",firstName:"John",lastName:"Doe",email:"jd@mail.com"},{_id:"6124bbd2f8eacfa2ca662f27",firstName:"Sam",lastName:"Ben",email:"sb@mail.com"}],"propertytestimonials":[{_id:"6124bbd2f8eacfa2ca662f35",userId:"6124bbd2f8eacfa2ca662f29",testimonial:"Amazing property",propertyId:"6124bbd2f8eacfa2ca662f34"},{_id:"6124bbd2f8eacfa2ca662f36",userId:"6124bbd2f8eacfa2ca662f27",testimonial:"Worth the price",propertyId:"6124bbd2f8eacfa2ca662f34"}],"property":[{_id:"6124bbd2f8eacfa2ca662f34",name:"Maisonette",price:100000}]}
Query
db.property.aggregate([{$match:{_id:"6124bbd2f8eacfa2ca662f34"}},{$lookup:{from:"propertytestimonials",let:{propPropertyId:"$_id"},pipeline:[{$match:{$expr:{$eq:["$propertyId","$$propPropertyId"]}}},{$lookup:{from:"users",localField:"userId",foreignField:"_id",as:"user"}},{$addFields:{user:{$arrayElemAt:["$user",0]}}}],as:"testimonials"}}])