Database

[{action:"SEND_ACTION_START",data:{stuff:{delivered:{a:41,b:42,c:43}}}},{action:"SEND_ACTION",data:{stuff:{delivered:[{0:{a:31,b:32,c:33}}]}}},{action:"SEND",data:{stuff:{delivered:[{0:{a:21,b:22,c:23}},{1:{a:11,b:22,c:33}}],marker:1}}}]

Query

db.collection.aggregate([{$replaceRoot:{newRoot:"$data.stuff"}},{$facet:{a:[{$match:{$expr:{$eq:[{$type:"$delivered"},"object"]}}},/****/{$replaceRoot:{newRoot:"$delivered"}},],/**/*/b:[{$match:{$expr:{$eq:[{$type:"$delivered"},"array"]}},},/***/{$match:{marker:{"$exists":false}}},/***/{$project:{delivered:{$first:"$delivered"}}},/***/{$project:{delivered:{$objectToArray:"$delivered"}}},/***/{$replaceRoot:{newRoot:{$first:"$delivered.v"}}},],/***/c:[{$match:{marker:{"$exists":true}}},{$replaceRoot:{newRoot:{$last:{$objectToArray:{$arrayElemAt:["$delivered",{$toInt:"$marker"}]}}}}},/***/{$replaceRoot:{newRoot:"$v"}}]}},/***/{$project:{result:{$concatArrays:["$a","$b","$c"]}}},])

Result