Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$reduce
Operator $reduce agregasi di Amazon DocumentDB digunakan untuk menerapkan fungsi dua argumen secara kumulatif ke elemen array untuk mengurangi array menjadi satu nilai. Operator ini sangat berguna untuk melakukan perhitungan atau transformasi kompleks pada data array dalam pipeline agregasi.
Parameter
-
input: Array yang akan dikurangi. -
initialValue: Nilai awal yang akan digunakan dalam operasi reduksi. -
in: Ekspresi yang akan dievaluasi pada setiap elemeninputarray. Ekspresi ini harus mengembalikan nilai yang akan digunakan dalam iterasi reduksi berikutnya.
Contoh (MongoDB Shell)
Contoh berikut menunjukkan bagaimana menggunakan $reduce operator untuk menghitung jumlah semua elemen dalam array.
Buat dokumen sampel
db.orders.insertMany([ { "_id": 1, "items": [1, 2, 3, 4, 5] }, { "_id": 2, "items": [10, 20, 30] }, { "_id": 3, "items": [5, 15, 25, 35] }, { "_id": 4, "items": [100, 200] } ])
Contoh kueri
db.orders.aggregate([ { $project: { total: { $reduce: { input: "$items", initialValue: 0, in: { $add: ["$$value", "$$this"] } } } } } ])
Keluaran
[
{ "_id": 1, "total": 15 },
{ "_id": 2, "total": 60 },
{ "_id": 3, "total": 80 },
{ "_id": 4, "total": 300 }
]
$reduceOperator iterasi atas items array, menambahkan setiap elemen ke initialValue 0. Hasilnya adalah jumlah semua elemen dalam array.
Contoh kode
Untuk melihat contoh kode untuk menggunakan $reduce perintah, pilih tab untuk bahasa yang ingin Anda gunakan: