Database

[{val:1},{val:4},{val:7},{val:8},{val:11}]

Query

db.collection.aggregate([{$group:{_id:null,data:{$push:"$$ROOT"}}},{$addFields:{data:{$map:{input:{$range:[0,{$subtract:[{$size:"$data"},{$mod:[{$size:"$data"},2]}]},1]},as:"idx",in:{diff:{$subtract:[{$arrayElemAt:["$data.val",{$add:["$$idx",1]}]},{$arrayElemAt:["$data.val","$$idx"]}]}}}}}},{$unwind:"$data"},{$replaceRoot:{newRoot:"$data"}}])

Result