Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$zip
$zipOperator di Amazon DocumentDB memungkinkan Anda untuk menggabungkan beberapa array ke dalam satu array tupel (pasangan kunci-nilai). Ini berguna ketika Anda perlu membuat dokumen atau objek baru dengan menggabungkan data dari berbagai sumber atau array dalam dokumen.
Parameter
-
inputs: Sebuah array ekspresi yang menyelesaikan array. Array ini akan digabungkan menjadi satu array tupel. -
useLongestLength: (opsional) Jikatrue, array output akan memiliki panjang array input terpanjang, padding array yang lebih pendek dengannullnilai. Jikafalse, array output akan memiliki panjang array input terpendek. -
defaults: (opsional) Sebuah array nilai default untuk digunakan untuk tupel jika array input yang sesuai lebih pendek dari array input terpanjang danuseLongestLengthadalah.true
Contoh (MongoDB Shell)
Contoh berikut menunjukkan bagaimana menggunakan $zip operator untuk menggabungkan dua array ke dalam array tunggal tupel.
Buat dokumen sampel
db.grades.insert([ { "_id": 1, "name": "John", "scores": [90, 85, 92], "classes": ["Math", "English", "Science"] }, { "_id": 2, "name": "Jane", "scores": [88, 91, 90, 85], "classes": ["Math", "English", "Science", "History"] } ])
Contoh kueri
db.grades.aggregate([ { $project: { "name": 1, "scoredClasses": { $zip: { inputs: ["$scores", "$classes"], useLongestLength: true, defaults: [null, null] } } } } ])
Keluaran
[
{
"_id": 1,
"name": "John",
"scoredClasses": [
[90, "Math"],
[85, "English"],
[92, "Science"],
[null, null]
]
},
{
"_id": 2,
"name": "Jane",
"scoredClasses": [
[88, "Math"],
[91, "English"],
[90, "Science"],
[85, "History"]
]
}
]
Contoh kode
Untuk melihat contoh kode untuk menggunakan $zip perintah, pilih tab untuk bahasa yang ingin Anda gunakan: