Database

[{"currentCustomer":{"key":1},inLine:[{"key":1}],processed:[{"key":2}]},{"currentCustomer":null,inLine:[],processed:[{"key":3}]}]

Query

db.collection.aggregate([{$set:{currentCustomer:{$cond:[{$eq:[{$size:"$inLine"},0]},null,{$arrayElemAt:["$inLine",0]}]},inLine:{$cond:[{$eq:[{$size:"$inLine"},0]},[],{$slice:["$inLine",1,{$size:"$inLine"}]}]},processed:{$concatArrays:[{$ifNull:["$processed",[]]},{$cond:[{$eq:["$currentCustomer",null]},[],["$currentCustomer"]]}]}}}])

Result