Agregasi operasi memproses catatan data dan mengembalikan hasil yang dihitung. Operasi agregasi mengelompokkan nilai dari beberapa dokumen bersama-sama, dan dapat melakukan berbagai operasi pada data yang dikelompokkan untuk mengembalikan satu hasil.
Coba ini -
collection.aggregate([
{ $unwind: "$items" },
{ $sort: { "items.order": 1 } },
{ $group: { _id: "$_id", items: { $push: "$items" } } }
]);
Agregasi berikut menggunakan tahap $unwind untuk menampilkan dokumen untuk setiap elemen dalam larik ukuran:
Tahap pipa $sort (agregasi):- Mengurutkan semua dokumen masukan dan mengembalikannya ke pipeline dalam urutan yang diurutkan.
Tahap $sort memiliki bentuk prototipe berikut:
{ $sort: { <field1>: <sort order>, <field2>: <sort order> ... } }
Tahap pipa $grup (agregasi):- Mengelompokkan dokumen menurut ekspresi tertentu dan mengeluarkan dokumen ke tahap berikutnya untuk setiap pengelompokan yang berbeda. Dokumen keluaran berisi bidang _id yang berisi grup berbeda berdasarkan kunci. $group tidak mengurutkan dokumen keluarannya.
Tahap $group memiliki bentuk prototipe berikut:
{ $group: { _id: <expression>, <field1>: { <accumulator1> :
<expression1> }, ... } }
Untuk referensi lebih lanjut, lihat tautan ini - https://docs.mongodb .com/manual/reference/method/db.collection.aggregate/