Database

db={"orders":[{"_id":ObjectId("5ef62e0c586c78491530e4d5"),"items":[{"description":"desc1","parts":[ObjectId("5ef62e0c586c78491530e4d7"),ObjectId("5ef62e0c586c78491530e4d8")]}],"createdBy":"userId"}],"parts":[{"_id":ObjectId("5ef62e0c586c78491530e4d7"),"name":"part1"},{"_id":ObjectId("5ef62e0c586c78491530e4d8"),"name":"part2"}]}

Query

db.orders.aggregate([{$lookup:{from:"parts",localField:"items.parts",foreignField:"_id",as:"parts"}},{$project:{createdBy:1,items:{$map:{input:"$items",as:"item",in:{description:"$$item.description",parts:{$filter:{input:"$parts",as:"part",cond:{$in:["$$part._id","$$item.parts"]}}}}}}}}])

Result