Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$bucket
Baru dari versi 8.0
Tidak didukung oleh cluster elastis.
Tahap $bucket agregasi di Amazon DocumentDB memungkinkan Anda mengelompokkan dokumen masukan ke dalam bucket berdasarkan ekspresi dan batas bucket yang ditentukan. Ini dapat berguna untuk menganalisis data yang termasuk dalam rentang nilai atau kategori tertentu.
Parameter
-
groupBy(required): Ekspresi yang menentukan nilai untuk dikelompokkan menurut. -
boundaries(required): Array nilai ganda yang menentukan batas bucket. Dokumen ditugaskan ke ember berdasarkan nilaigroupByekspresi yang termasuk dalam batas-batas yang ditentukan. -
default(opsional): Nilai literal yang merupakan output untuk dokumen yang nilaigroupByekspresinya tidak termasuk dalam batas yang ditentukan. -
output(opsional): Objek yang menentukan informasi yang akan dikeluarkan untuk setiap bucket. Anda dapat menggunakan operator akumulator seperti$sum,,$avg$min, dan$maxuntuk menghitung agregasi untuk setiap bucket.
Contoh (MongoDB Shell)
Contoh berikut menunjukkan bagaimana menggunakan $bucket panggung untuk mengelompokkan data penjualan berdasarkan kisaran harga.
Buat dokumen sampel
db.sales.insertMany([ { item: "abc", price: 10, quantity: 2, date: new Date("2020-09-01") }, { item: "def", price: 20, quantity: 1, date: new Date("2020-10-01") }, { item: "ghi", price: 5, quantity: 3, date: new Date("2020-11-01") }, { item: "jkl", price: 15, quantity: 2, date: new Date("2020-12-01") }, { item: "mno", price: 25, quantity: 1, date: new Date("2021-01-01") } ]);
Contoh kueri
db.sales.aggregate([ { $bucket: { groupBy: "$price", boundaries: [0, 10, 20, 30], default: "Other", output: { "count": { $sum: 1 }, "totalQuantity": { $sum: "$quantity" } } } }, { $sort: { _id: 1 } } ])
Keluaran
[
{ _id: 0, count: 1, totalQuantity: 3 },
{ _id: 10, count: 2, totalQuantity: 4 },
{ _id: 20, count: 2, totalQuantity: 2 }
]
Contoh kode
Untuk melihat contoh kode untuk menggunakan $bucket perintah, pilih tab untuk bahasa yang ingin Anda gunakan: