Database

[{id:2,type:"newname",subs:[{time:20,val:"b"},{time:12,val:"a"},{time:30,val:"c"}]},{id:1,type:"strs",subs:[{time:50,val:"be"},{time:1,val:"ab"},{time:20,val:"cs"}]}]

Query

db.collection.aggregate([{$unwind:"$subs"},{$sort:{"subs.time":1}},{$group:{_id:"$id",id:{$first:"$id"},type:{$first:"$type"},subs:{$push:"$subs"}}},{$project:{_id:0}},{$sort:{id:1}}])

Result