Database
[{"Id":1,"extension":[{"keyName":"Name","value":"Bob"},{"keyAge":"Age","value":20}]},{"Id":2,"extension":[{"keyName":"Name","value":"Sam"},{"key":"Name","value":"Sam"}]},{"Id":3,"extension":[{"keyName":"Age","value":25},{"key":"Age","value":25}]},{"Id":4}]
Query
db.collection.update({"extension.key":{$exists:true}},[{$set:{extension:{$map:{input:"$extension",in:{$arrayToObject:{$map:{input:{$objectToArray:"$$this"},in:{k:{$cond:[{$eq:["$$this.k","key"]},"keyAge","$$this.k"]},v:"$$this.v",}}}}}}}}],{multi:true})