Database

[{"in_cart":[{"product_id":"12345","amount":2}],"details":[{"_id":"12345","name":"test","price":1110}]}]

Query

db.collection.aggregate([{"$set":{"details":{"$map":{"input":"$details","in":{_id:"$$this._id",name:"$$this.name",price:"$$this.price",amount:{$getField:{field:"amount",input:{$arrayElemAt:[{"$filter":{"input":"$in_cart","as":"cart_item","cond":{"$eq":["$$cart_item.product_id","$$this._id"]}}},0]}}}}}}}}])

Result