Database
db={teams:[{_id:ObjectId("6035885d9866ae7d283964dd"),name:"Team A"}],events:[{_id:ObjectId("6035885d9866ae7d283964ee"),team_oid:ObjectId("6035885d9866ae7d283964dd"),name:"An event"}]}
Query
db.teams.aggregate([{$sort:{create_date:1}},{$lookup:{from:"events",/** Set tea_oid as the current team _id*/let:{"team_oid":"$_id"},pipeline:[{$match:{$expr:{$and:[/** Match events whose 'team_oid' field matches the 'team' _id set above*/{$eq:["$team_oid","$$team_oid"]}]},}},{$sort:{start:1}},{$limit:1}],as:"events",}},])