У меня есть документ mongodb, как показано ниже:
{
"match_key" : 44801,
"total_points" : 10.00,
},
{
"match_key" : 44901,
"total_points" : 8.00,
},
{
"match_key" : 44901,
"total_points" : 7.00,
},
{
"match_key" : 44901,
"total_points" : 11.00,
},
{
"match_key" : 44801,
"total_points" : 7.00,
}
Я хочу отсортировать вышеупомянутые документы, но хочу сохранить документы с одним и тем же ключом match_key вместе.
Фактический результат:
{
"match_key" : 44901,
"total_points" : 11.00,
}
,
{
"match_key" : 44801,
"total_points" : 10.00,
},
{
"match_key" : 44901,
"total_points" : 8.00,
},
{
"match_key" : 44801,
"total_points" : 7.00,
}
{
"match_key" : 44901,
"total_points" : 6.00,
},
Но вы видите, что одни и те же ключи соответствия не вместе.
Ожидаемый результат:
{
"match_key" : 44901,
"total_points" : 11.00,
},
{
"match_key" : 44901,
"total_points" : 8.00,
},
{
"match_key" : 44901,
"total_points" : 7.00,
},
{
"match_key" : 44801,
"total_points" : 10.00,
},
{
"match_key" : 44801,
"total_points" : 6.00,
},
Так, что документы с ключом same_match находятся в порядке убывания.
Вот что я пытался сделать:
db.collection.aggregate(
[
{ $match: { match_key:{$in:[44801,45910]}}},
{ $sort: {total_points:1,match_key:1} }
]
)
Это некоторый sql эквивалент вопрос, который я пытаюсь задать - Сортировать по самому последнему, но хранить вместе по другому столбцу идентификаторов
Мой основной мотив здесь - сортировать документы и хранить документы с одним и тем же match_key вместе, но в порядке / **