sql >> Databáze >  >> NoSQL >> MongoDB

Uzel + Mongodb + třídit vnořené pole

Agregace operace zpracovávají datové záznamy a vracejí vypočítané výsledky. Agregační operace seskupují hodnoty z více dokumentů dohromady a mohou se seskupenými daty provádět různé operace, aby vrátily jeden výsledek.

Zkuste toto -

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

Následující agregace používá fázi $unwind k výstupu dokumentu pro každý prvek v poli size:

Fáze $sort (agregace) potrubí:- Seřadí všechny vstupní dokumenty a vrátí je do kanálu v seřazeném pořadí.

Fáze $sort má následující prototypovou formu:

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

Fáze kanálu $group (agregace):- Seskupí dokumenty podle určitého zadaného výrazu a do další fáze vydá dokument pro každé odlišné seskupení. Výstupní dokumenty obsahují pole _id, které obsahuje odlišnou skupinu podle klíče. $group neobjednává své výstupní dokumenty.

Fáze $group má následující prototypovou formu:

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

Další informace naleznete na tomto odkazu - https://docs.mongodb .com/manual/reference/method/db.collection.aggregate/




  1. Jak odeberu klíče?

  2. Mongo DB:Nelze vytvořit sharding cluster v Ubuntu

  3. Aktualizace záznamu pomocí mangusty

  4. Hromadná aktualizace pomocí ovladače MongoDB Java 3.0