Database

[{"_id":"1","name":"First","levelsCount":[{"_id":"level_One","levelNum":1,"count":1},{"_id":"level_Three","levelNum":3,"count":1},{"_id":"level_Four","levelNum":4,"count":8}]},{"_id":"2","name":"Second","levelsCount":[{"_id":"level_One","levelNum":1,"count":5},{"_id":"level_Two","levelNum":2,"count":2},{"_id":"level_Three","levelNum":3,"count":1},{"_id":"level_Four","levelNum":4,"count":3}]},{"_id":"3","name":"Third","levelsCount":[{"_id":"level_One","levelNum":1,"count":1},{"_id":"level_Two","levelNum":2,"count":3},{"_id":"level_Three","levelNum":3,"count":2},{"_id":"level_Four","levelNum":4,"count":3}]}]

Query

db.collection.aggregate([{$sort:{"levelsCount.levelNum":-1,"levelsCount.count":1}}])

Result