Database

db={"col1":[{a:[{p:[{pid:"4",date:"2022-01-25"},{pid:"1",date:"2022-01-22"}]},{p:[{pid:"3",date:"2022-01-27"}]}]}],"col2":[{pid:1},{pid:3}]}

Query

db.col2.aggregate([{$set:{pid:{$toString:"$pid"}}},{$lookup:{from:"col1",localField:"pid",foreignField:"a.p.pid",as:"date"}},{$set:{date:{$filter:{input:"$date",as:"d1",cond:{$gt:[{$size:{$filter:{input:"$$d1.a",as:"d2",cond:{$gt:[{$size:{$filter:{input:"$$d2.p",as:"d3",cond:{$eq:["$$d3.pid","$pid"]}}}},0]}}}},0]}}}}},{$set:{date:{$first:"$date.a"}}},{$set:{"date":{$filter:{input:"$date",as:"d2",cond:{$gt:[{$size:{$filter:{input:"$$d2.p",as:"d3",cond:{$eq:["$$d3.pid","$pid"]}}}},0]}}}}},{$set:{date:{$first:"$date.p"}}},{$set:{date:{$filter:{input:"$date",as:"d3",cond:{$eq:["$$d3.pid","$pid"]}}}}},{$set:{date:{$first:"$date.date"},pid:{$toInt:"$pid"}}}])

Result