Database

[{"statuses":[{"name":"In Progress","created_on":ISODate("2020-04-20T19:00:07.681Z")},{"name":"Pending","created_on":ISODate("2020-04-20T19:00:07.886Z")},{"name":"Viewed","created_on":ISODate("2020-04-20T20:10:04.733Z")},{"name":"Initial Viewed","created_on":ISODate("2020-04-20T20:10:08.468Z")},{"name":"Opened","created_on":ISODate("2020-04-21T01:37:08.582Z")},{"name":"Completed","created_on":ISODate("2020-04-21T01:48:46.007Z")}],"reference":["In Progress","Pending","Sent","Initial Viewed","Viewed","Opened","Completed"]}]

Query

db.collection.aggregate([{$project:{result:{$map:{input:"$reference",as:"ref",in:{$let:{vars:{matched:{$arrayElemAt:[{$filter:{input:"$statuses",cond:{$eq:["$$ref","$$this.name"]}}},0]}},in:{$ifNull:["$$matched",{name:"$$ref",created_on:new Date()}]}}}}}}}])

Result