Database
[{"id":1,"result":["a","b","c","d"]},{"id":2,"result":["e","f","g","h"]}]
Query
db.collection.aggregate([{$project:{id:1,result:{$map:{input:{$range:[0,{$subtract:[{$size:"$result"},1]},1]},as:"idx",in:{before:{$arrayElemAt:["$result","$$idx"]},after:{$arrayElemAt:["$result",{$add:["$$idx",1]}]}}}}}}])