Сортировка нескольких массивов объектов в агрегации Монго - PullRequest
0 голосов
/ 30 января 2019
{
    "_id" : 1,
    "name" : "Ashwanth Madhav",
    "scores" : [
            {
                    "type" : "exam",
                    "score" : 45
            },
            {
                    "type" : "quiz",
                    "score" : 34
            },
            {
                    "type" : "work",
                    "score" : 99
            },
            {
                    "type" : "work",
                    "score" : 38
            }
    ],
  "job_type" : [
            {
                    "type" : "full_time",
                    "activity" :87
            },
            {
                    "type" : "part_time",
                    "activity" : 78
            },
            {
                    "type" : "full_time",
                    "activity" : 71.76133439165544
            }
    ]
}

При использовании $addToSet отсортированный список становится несортированным.Поэтому я использовал $push.Но это приводит к дублированию данных.

Мне нужно отсортировать SCORES и JOB_TYPE.Теперь, я сделал это с помощью Сначала $addToSet, затем "$unwind" Score-> "$sort" -> "$group" с $push.После "$unwind" тип задания -> "$sort" -> "$group" это с $push.

Есть ли лучший способ?Заранее спасибо.

...