Database

db={"col1":[{a:[{p:[{pid:"1",date:"2022-01-22"},{pid:"4",date:"2022-01-25"}]},{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",let:{pid:"$pid"},pipeline:[{$unwind:"$a"},{$unwind:"$a.p"},{$match:{$expr:{$eq:["$a.p.pid","$$pid"]}}}]}},{$set:{date:{$first:"$date.a.p.date"},pid:{$toInt:"$pid"}}}])

Result