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"]}}}}}])