Сортировка вложенного массива в mongodb - PullRequest
0 голосов
/ 08 октября 2019

У меня есть следующая структура в коллекции mongodb, как показано на прилагаемом изображении: введите описание изображения здесь

У меня будет порядковый номер, и внутри него у меня будут записи, теперь записибудет массив или массивы, как показано выше. Я хочу отсортировать данные внутри записей по баллам по математике. Каков наилучший способ сделать это? спасибо

1 Ответ

0 голосов
/ 08 октября 2019

Вы можете использовать unwind агрегат

    db.collection.aggregate([
       {
          $unwind:{
             path: "$Records",
             includeArrayIndex:"firstUnwind"
         }
       },
       {
          $unwind:{
             path: "$Records",
         }
       },
      { $sort : { Match: -1} },
      {
          $group: {
             _id: {
                id: "$_id",
                firstUnwind: "firstUnwind"
             },
             Index_Number: {$first: "$Index_Number"},
             Records: {$push: "$Records"}
          }
      },
      {
          $group: {
            _id: "$_id.id",
             Index_Number: {$first: "$Index_Number"},
             Records: {$push: "$Records"}
          }
      }
    ])`
...