sql >> Database >  >> NoSQL >> MongoDB

Knooppunt + Mongodb + sorteer geneste array

Aggregaties bewerkingen verwerken gegevensrecords en retourneren berekende resultaten. Met aggregatiebewerkingen worden waarden uit meerdere documenten gegroepeerd en kunnen verschillende bewerkingen op de gegroepeerde gegevens worden uitgevoerd om één resultaat te retourneren.

Probeer dit -

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

De volgende aggregatie gebruikt de $unwind-fase om een ​​document uit te voeren voor elk element in de array met maten:

Pijplijn $sort (aggregatie) stadium:- Sorteert alle invoerdocumenten en stuurt ze terug naar de pijplijn in gesorteerde volgorde.

De $sort-fase heeft de volgende prototypevorm:

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

Pijplijn $group (aggregatie) fase:- Groepeert documenten op een bepaalde uitdrukking en voert naar de volgende fase een document uit voor elke afzonderlijke groepering. De uitvoerdocumenten bevatten een _id-veld dat de afzonderlijke groep per sleutel bevat. $group bestelt zijn outputdocumenten niet.

De $group-fase heeft de volgende prototypevorm:

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

Zie deze link voor meer referentie - https://docs.mongodb .com/manual/reference/method/db.collection.aggregate/




  1. MongoDB-fout op mongo's:te veel positionele opties

  2. JSON .NET Custom Name Resolver voor sub-eigenschappen

  3. Ongeldig schema, verwacht `mongodb` of `mongodb+srv`

  4. mongodb:hoe kan ik de uitvoeringstijd voor het aggregatiecommando zien?