Database
db={colA:[{data:[ObjectId("628fb1db596e46baf54fb8fa"),ObjectId("628fb1db596e46baf54fb8fb"),ObjectId("628fb1db596e46baf54fb8fc")]}],colB:[{_id:ObjectId("628fb1db596e46baf54fb8fa"),name:"a"},{_id:ObjectId("628fb1db596e46baf54fb8fb"),name:"b"},{_id:ObjectId("628fb1db596e46baf54fb8fc"),name:"c"}]}
Query
db.colA.aggregate([{$lookup:{from:"colB",localField:"data",foreignField:"_id",as:"newData"}},{$set:{newData:"$$REMOVE",data:{$map:{input:"$data",in:{$arrayElemAt:["$newData",{$indexOfArray:["$newData._id","$$this"]}]}}}}}])