Database

db={orders:[{"_id":ObjectId("613ae653d0112f6b49fdd437"),"orderItems":[{"quantity":NumberInt(2),"productCode":"VEO001",},{"quantity":NumberInt(2),"productCode":"VEO002",},{"quantity":NumberInt(1),"productCode":"VEO003",}],"orderCode":"1000","customerCode":"Customer 1","createdAt":ISODate("2021-09-10T05:00:03.496Z"),"updatedAt":ISODate("2022-02-08T10:06:42.255Z"),"eventId":"6218b9266487367ba1c20258"}],products:[{"_id":ObjectId("604206685f25b8560a1cd48d"),"Product name":"ABC","createdAt":ISODate("2021-03-05T10:22:32.085Z"),"tag":"VEO001","updatedAt":ISODate("2022-03-28T07:29:21.939Z"),"Product Price":NumberInt(0),"photo":{"_id":ObjectId("6042071a5f25b8560a1cd4a9"),"key":"e8c9a085-4e8d-4ac4-84e9-bb0a83a59145","name":"Screenshot 2021-03-05 at 11.24.50.png"},"name":"ABC","_costprice":NumberInt(12),"_sku":"SKUVEO001",},{"_id":ObjectId("604206685f25b8560a1cd48a"),"Product name":"DEF","createdAt":ISODate("2021-03-05T10:22:32.085Z"),"tag":"VEO002","updatedAt":ISODate("2022-03-28T07:29:21.939Z"),"Product Price":NumberInt(0),"photo":{"_id":ObjectId("6042071a5f25b8560a1cd4a9"),"key":"e8c9a085-4e8d-4ac4-84e9-bb0a83a59145","name":"Screenshot 2021-03-05 at 11.24.50.png"},"name":"DEF","_costprice":NumberInt(13),"_sku":"SKUVEO002",},{"_id":ObjectId("604206685f25b8560a1cd48c"),"Product name":"GHI","createdAt":ISODate("2021-03-05T10:22:32.085Z"),"tag":"VEO003","updatedAt":ISODate("2022-03-28T07:29:21.939Z"),"Product Price":NumberInt(0),"photo":{"_id":ObjectId("6042071a5f25b8560a1cd4a9"),"key":"e8c9a085-4e8d-4ac4-84e9-bb0a83a59145","name":"Screenshot 2021-03-05 at 11.24.50.png"},"name":"GHI","_costprice":NumberInt(13),"_sku":"SKUVEO003",}],events:[{"_id":"6218b9266487367ba1c20258","name":"XYZ","createdAt":ISODate("2022-02-03T13:25:43.814Z"),"updatedAt":ISODate("2022-02-14T09:34:47.819Z"),}]}

Query

db.orders.aggregate([{$match:{eventId:"6218b9266487367ba1c20258"}},{$lookup:{from:"products",localField:"orderItems.productCode",foreignField:"tag",as:"orderItemsB"}},{"$addFields":{"orderItems":{"$map":{"input":"$orderItemsB","in":{"$mergeObjects":["$$this",{"$arrayElemAt":["$orderItems",{"$indexOfArray":["$orderItems.productCode","$$this.tag"]}]}]}}},orderItemsB:0}},{$unset:"orderItemsB"},{$lookup:{from:"events",let:{eventId:"$eventId"},pipeline:[{$match:{$expr:{$eq:[{$toString:"$_id"},"$$eventId"]}}}],as:"event"}},{$set:{event:{"$arrayElemAt":["$event",0]},}},{$unwind:"$orderItems"}])

Result