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([{$project:{pid:{$toString:"$pid"}}},{$lookup:{from:"col1",localField:"pid",foreignField:"a.p.pid",as:"date"}},{$project:{"date.a.p.date":1,"date.a.p.pid":1,_id:1,pid:1}},{$unwind:"$date"},{$unwind:"$date.a"},{$unwind:"$date.a.p"},{$project:{pid:"$date.a.p.pid",date:"$date.a.p.date","matched":{"$eq":["$pid","$date.a.p.pid"]}}},{$match:{matched:true}},{$project:{"_id":0,pid:1,date:1}}])

Result