Bab 9 Aggregation

# Pengenalan Aggregation

Pahami mengapa aggregation ada ketika find() tidak lagi cukup.

Buka →
# Aggregation Pipeline

Susun pipeline tahap demi tahap yang mengalirkan document sebagai input dan output.

Buka →
# $match

Saring document di awal pipeline dengan sintaks yang sama seperti query find().

Buka →
# $project

Bentuk ulang document: pilih field, hitung field baru, dan atur _id.

Buka →
# $set dan $addFields

Tambahkan atau perbarui field tanpa membuang field yang sudah ada.

Buka →
# $group

Kelompokkan document berdasarkan kunci dan hitung agregat seperti total dan rata-rata.

Buka →
# $sort

Urutkan document di dalam pipeline sebelum atau sesudah tahap lain.

Buka →
# $limit dan $skip

Batasi jumlah document yang diproses pipeline pada tahap tertentu.

Buka →
# $unwind

Pecah array menjadi satu document per elemen agar dapat dianalisis.

Buka →
# $count

Hitung jumlah document yang lolos dari tahap pipeline sebelumnya.

Buka →
# $lookup

Gabungkan document dari collection lain sebagai alternatif join.

Buka →
# $facet

Jalankan beberapa pipeline cabang dalam satu eksekusi untuk kebutuhan dashboard.

Buka →
# $bucket dan $bucketAuto

Kelompokkan document ke dalam rentang nilai secara manual maupun otomatis.

Buka →
# $replaceRoot dan $replaceWith

Promosikan nested document menjadi document utama hasil pipeline.

Buka →
# Conditional Expressions

Bentuk logika if-then-else di dalam pipeline dengan $cond dan $switch.

Buka →
# Operator Tanggal

Uraikan dan bentuk ulang tanggal dengan $year, $month, dan $dateToString.

Buka →
# Operator Array

Olah array di pipeline dengan $size, $map, $filter, dan $reduce.

Buka →
# Operator String

Rangkai dan ubah teks dengan $concat, $toUpper, $trim, dan $split.

Buka →
# Operator Aritmatika

Hitung di pipeline dengan $add, $multiply, $divide, $mod, dan $abs.

Buka →
# Window Functions

Hitung nilai lintas document tetangga dengan $setWindowFields.

Buka →
# $merge dan $out

Tulis hasil pipeline kembali ke collection untuk dipakai ulang.

Buka →
# Performa Aggregation

Optimalkan pipeline dengan urutan tahap, allowDiskUse, dan index yang tepat.

Buka →