Сортировка по максимальному полю массива, по возрастанию или по убыванию

В моем приложении Meteor у меня есть коллекция документов с массивом поддокументов, которые выглядят так:

/* 1 */
{
    "_id" : "5xF9iDTj3reLDKNHh",
    "name" : "Lorem ipsum",
    "revisions" : [ 
        {
            "number" : 0,
            "comment" : "Dolor sit amet",
            "created" : ISODate("2016-02-11T01:22:45.588Z")
        }
    ],
    "number" : 1
}

/* 2 */
{
    "_id" : "qTF8kEphNoB3eTNRA",
    "name" : "Consecitur quinam",
    "revisions" : [ 
        {
             "comment" : "Hoste ad poderiquem",
             "number" : 1,
             "created" : ISODate("2016-02-11T23:25:46.033Z")
        }, 
        {
            "number" : 0,
            "comment" : "Fagor questibilus",
            "created" : ISODate("2016-02-11T01:22:45.588Z")
        }
    ],
    "number" : 2
}

Что я хочу сделать, это запросить эту коллекцию и отсортировать набор результатов помаксимальная дата вcreated полеrevisions массив. Что-то, что я еще не смог осуществить. Вот некоторые ограничения:

Просто сортировка поrevisions.created не вырезать, потому что дата, используемая из коллекции, зависит от направления сортировки. Я должен использоватьмаксимальная дата в наборе независимо от порядка сортировки.Я не могу полагаться на манипулирование после запроса несортированным набором результатов, поэтому это должно быть сделано путем правильного запроса или агрегирования в базе данных.Там нет никакой гарантии, чтоrevisions массив будет предварительно отсортирован.В некоторых документах могут быть дополнительные поля, и они должны быть вместе, поэтому$project.Метеор все еще использует MongoDB 2.6, новые функции API не годятся :(

Ответы на вопрос(1)

Ваш ответ на вопрос