Агрегации операциите обработват записи на данни и връщат изчислени резултати. Операциите за агрегиране групират стойности от множество документи заедно и могат да извършват различни операции върху групираните данни, за да върнат един резултат.
Опитайте това -
collection.aggregate([
{ $unwind: "$items" },
{ $sort: { "items.order": 1 } },
{ $group: { _id: "$_id", items: { $push: "$items" } } }
]);
Следното агрегиране използва етапа $unwind, за да изведе документ за всеки елемент в масива sizes:
Етап на $sort (агрегиране) на конвейера:- Сортира всички входни документи и ги връща в конвейера в сортиран ред.
Етапът $sort има следната прототипна форма:
{ $sort: { <field1>: <sort order>, <field2>: <sort order> ... } }
Етап $group (агрегиране) на конвейера:- Групира документи по някакъв определен израз и извежда на следващия етап документ за всяко отделно групиране. Изходните документи съдържат поле _id, което съдържа отделната група по ключ. $group не подрежда своите изходни документи.
Етапът $group има следната форма на прототип:
{ $group: { _id: <expression>, <field1>: { <accumulator1> :
<expression1> }, ... } }
За повече информация вижте тази връзка - https://docs.mongodb .com/manual/reference/method/db.collection.aggregate/