Database

[{"_id":"0001","pn":"01","title":"MyAssembly","partlist":[{"id":"","pn":"1234","desc":"myPart1",},{"id":"","pn":"5678","desc":"myPart2",}]}]

Query

db.collection.aggregate([{$addFields:{partlist:{$map:{input:"$partlist",as:"p",in:{$cond:["$$p.pn",{$mergeObjects:["$$p",{"id":"$$p.pn"}]},"$$p"]}}}}}])

Result