MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Knoten + Mongodb + verschachteltes Array sortieren

Aggregationen Operationen verarbeiten Datensätze und geben berechnete Ergebnisse zurück. Aggregationsoperationen gruppieren Werte aus mehreren Dokumenten zusammen und können eine Vielzahl von Operationen an den gruppierten Daten ausführen, um ein einzelnes Ergebnis zurückzugeben.

Versuchen Sie dies -

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

Die folgende Aggregation verwendet die $unwind-Stufe, um ein Dokument für jedes Element im Größen-Array auszugeben:

Phase $sort (Aggregation) der Pipeline:- Sortiert alle Eingabedokumente und gibt sie in sortierter Reihenfolge an die Pipeline zurück.

Die Stufe $sort hat die folgende Prototypform:

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

Phase der Pipeline $group (Aggregation):- Gruppiert Dokumente nach einem bestimmten Ausdruck und gibt ein Dokument für jede bestimmte Gruppierung an die nächste Stufe aus. Die Ausgabedokumente enthalten ein _id-Feld, das den eindeutigen Gruppieren-nach-Schlüssel enthält. $group ordnet seine Ausgabedokumente nicht.

Die $group-Phase hat die folgende Prototypform:

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

Weitere Informationen finden Sie unter diesem Link - https://docs.mongodb .com/manual/reference/method/db.collection.aggregate/