Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$switch
Baru dari versi 4.0.
Tidak didukung oleh cluster elastis.
$switchOperator adalah operator ekspresi bersyarat di Amazon DocumentDB yang memungkinkan Anda mengevaluasi daftar ekspresi kasus dan mengembalikan nilai kasus pertama yang mengevaluasi ke true, atau nilai default jika tidak ada ekspresi kasus yang benar.
Parameter
-
branches: Sebuah array dokumen, yang masing-masing memiliki bidang kasus yang berisi ekspresi boolean untuk mengevaluasi, dan kemudian bidang yang berisi nilai untuk kembali jika ekspresi kasus benar. -
default: (opsional) Nilai yang akan dikembalikan jika tidak ada ekspresi kasus yang benar.
Contoh (MongoDB Shell)
Contoh berikut menunjukkan penggunaan $switch operator untuk menentukan biaya pengiriman pesanan berdasarkan total pesanan.
Buat dokumen sampel
db.orders.insertMany([ { _id: 1, total: 50 }, { _id: 2, total: 150 }, { _id: 3, total: 250 } ]);
Contoh kueri
db.orders.aggregate([ { $project: { _id: 1, total: 1, shippingCost: { $switch: { branches: [ { case: { $lte: ["$total", 100] }, then: 5 }, { case: { $lte: ["$total", 200] }, then: 10 }, { case: { $gt: ["$total", 200] }, then: 15 } ], default: 0 } } } } ])
Keluaran
[
{
"_id": 1,
"total": 50,
"shippingCost": 5
},
{
"_id": 2,
"total": 150,
"shippingCost": 10
},
{
"_id": 3,
"total": 250,
"shippingCost": 15
}
]
Contoh kode
Untuk melihat contoh kode untuk menggunakan $switch perintah, pilih tab untuk bahasa yang ingin Anda gunakan: