Database
[{"sno":"1001","owner":"Tim","old":[{"name":"John","age":"20"},{"name":"Park","age":"40"}],"new":[{"name":"Snow","age":"10"},{"name":"Mike","age":"25"},{"name":"New Rec","age":"55"}]}]
Query
db.collection.aggregate([{$project:{sno:1,owner:1,names:{$map:{input:{$range:[0,{$cond:[{$gt:[{$size:"$old"},{$size:"$new"}]},{$size:"$old"},{$size:"$new"},]}]},in:{old:{$arrayElemAt:["$old","$$this"]},new:{$arrayElemAt:["$new","$$this"]}}}}}},{$unwind:"$names"},{$project:{sno:1,owner:1,current_name:"$names.old.name",current_age:"$names.old.age",renew_name:"$names.new.name",renew_age:"$names.new.age"}}])