Database

[{"_id":17,"members":[{"email":"test@gmail.com","status":"pending","joined":ISODate("2020-05-20T02:04:00Z")},{"email":"javatutorials2016@gmail.com","status":"pending","joined":ISODate("2020-05-20T02:36:00Z")}],"messages":[{"c":"m1","ts":ISODate("2020-05-20T02:04:15Z")},{"c":"m2","ts":ISODate("2020-05-20T02:36:31Z")}]}]

Query

db.collection.aggregate([{$match:{_id:17,"members.email":"javatutorials2016@gmail.com"}},{$addFields:{member:{$arrayElemAt:[{$filter:{input:"$members",cond:{$eq:["$$this.email","javatutorials2016@gmail.com"]},}},0]}}},{$project:{messages:{$filter:{input:"$messages",cond:{$gte:["$$this.ts","$member.joined"]}}}}}])

Result