sql >> Databasteknik >  >> NoSQL >> MongoDB

Node + Mongodb + sortera kapslad array

Aggregationer operationer bearbetar dataposter och returnerar beräknade resultat. Aggregationsoperationer grupperar värden från flera dokument tillsammans och kan utföra en mängd olika operationer på den grupperade datan för att returnera ett enda resultat.

Prova detta -

collection.aggregate([
  { $unwind: "$items" },
  { $sort: { "items.order": 1 } },
  { $group: { _id: "$_id", items: { $push: "$items" } } }
]);

Följande aggregering använder $unwind-steget för att mata ut ett dokument för varje element i storleksmatrisen:

Pipeline $sort (aggregation) stadium:- Sorterar alla indatadokument och returnerar dem till pipelinen i sorterad ordning.

$sort-steget har följande prototypform:

{ $sort: { <field1>: <sort order>, <field2>: <sort order> ... } }

Pipeline $group (aggregation) stadium:- Grupperar dokument efter något specificerat uttryck och matar ut till nästa steg ett dokument för varje distinkt gruppering. Utdatadokumenten innehåller ett _id-fält som innehåller den distinkta gruppen för nyckel. $group beställer inte sina utdatadokument.

$group-steget har följande prototypform:

{ $group: { _id: <expression>, <field1>: { <accumulator1> : <expression1> }, ... } }

För mer referens se denna länk - https://docs.mongodb .com/manual/reference/method/db.collection.aggregate/




  1. Varför spring data mongo inte tillbaka fältet med tid?

  2. Azure Redis Session State-fel Timeout utför EVAL, inst:1 , queue:2

  3. MongoDB $query operator ignorerar index?

  4. MongoDB $avg Aggregation Pipeline Operator