Aggregationer operationer behandler dataposter og returnerer beregnede resultater. Aggregeringshandlinger grupperer værdier fra flere dokumenter sammen og kan udføre en række handlinger på de grupperede data for at returnere et enkelt resultat.
Prøv dette -
collection.aggregate([
{ $unwind: "$items" },
{ $sort: { "items.order": 1 } },
{ $group: { _id: "$_id", items: { $push: "$items" } } }
]);
Følgende aggregering bruger $unwind-stadiet til at udskrive et dokument for hvert element i størrelsesarrayet:
Pipeline $sort (sammenlægning) fase:- Sorterer alle inputdokumenter og returnerer dem til pipelinen i sorteret rækkefølge.
$sort-stadiet har følgende prototypeform:
{ $sort: { <field1>: <sort order>, <field2>: <sort order> ... } }
Pipeline $group (sammenlægning) fase:- Grupperer dokumenter efter et bestemt udtryk og sender et dokument til næste trin for hver særskilt gruppering. Outputdokumenterne indeholder et _id-felt, som indeholder den distinkte gruppe efter nøgle. $group bestiller ikke sine outputdokumenter.
$group-stadiet har følgende prototypeform:
{ $group: { _id: <expression>, <field1>: { <accumulator1> :
<expression1> }, ... } }
For mere reference se dette link - https://docs.mongodb .com/manual/reference/method/db.collection.aggregate/