Database
db={topic:[{name:"food",foo:"bar"}],post:[{topic:"food",created:ISODate("2020-01-01T00:00:00Z")},{topic:"food",created:ISODate("2019-01-01T00:00:00Z")},{topic:"food",created:ISODate("2018-01-01T00:00:00Z")},{topic:"food",created:ISODate("2017-01-01T00:00:00Z")}]}
Query
db.topic.aggregate([{$lookup:{from:"post",as:"recentThree",let:{name:"$name"},pipeline:[{$match:{$expr:{$eq:["$topic","$$name"]}}},{$sort:{created:-1}},{$limit:3}]}}])