Mongo имеет приятный оператор $ slice, который позволяет вам получать только подмножества встроенного массива объекта. Из их официальных документов:
db.posts.find({}, {comments:{$slice: 5}}) // first 5 comments
db.posts.find({}, {comments:{$slice: -5}}) // last 5 comments
db.posts.find({}, {comments:{$slice: [20, 10]}}) // skip 20, limit 10
db.posts.find({}, {comments:{$slice: [-20, 10]}}) // 20 from end, limit 10
Однако я не могу найти, где находится порядок упорядочения элементов встроенного массива перед тем, как его получить таким образом. И, что более важно, я могу изменить порядок, прежде чем $ нарезать их?