Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengacu pada atribut item saat menggunakan ekspresi di DynamoDB
Bagian ini menjelaskan cara merujuk ke atribut item dalam suatu ekspresi di Amazon DynamoDB. Anda dapat bekerja dengan atribut apa pun, meskipun itu sangat bersarang dalam beberapa daftar dan peta.
Item Sampel: ProductCatalog
Contoh di halaman ini menggunakan item contoh berikut dalam ProductCatalog
tabel. (Tabel ini dijelaskan dalam Contoh tabel dan data untuk digunakan di DynamoDB.)
{ "Id": 123, "Title": "Bicycle 123", "Description": "123 description", "BicycleType": "Hybrid", "Brand": "Brand-Company C", "Price": 500, "Color": ["Red", "Black"], "ProductCategory": "Bicycle", "InStock": true, "QuantityOnHand": null, "RelatedItems": [ 341, 472, 649 ], "Pictures": { "FrontView": "http://example.com/products/123_front.jpg", "RearView": "http://example.com/products/123_rear.jpg", "SideView": "http://example.com/products/123_left_side.jpg" }, "ProductReviews": { "FiveStar": [ "Excellent! Can't recommend it highly enough! Buy it!", "Do yourself a favor and buy this." ], "OneStar": [ "Terrible product! Do not buy this." ] }, "Comment": "This product sells out quickly during the summer", "Safety.Warning": "Always wear a helmet" }
Perhatikan hal-hal berikut:
-
Nilai kunci partisi (
Id
) adalah123
. Tidak ada kunci urutan. -
Sebagian besar atribut memiliki jenis daya skalar, seperti
String
,Number
,Boolean
, danNull
. -
Satu atribut (
Color
) adalahString Set
. -
Atribut berikut adalah jenis daya dokumen:
-
Daftar dari
RelatedItems
. Setiap elemen adalahId
untuk produk terkait. -
Peta dari
Pictures
. Setiap elemen adalah deskripsi singkat dari gambar, bersama dengan URL untuk file gambar yang sesuai. -
Peta dari
ProductReviews
. Setiap elemen mewakili penilaian dan daftar ulasan yang sesuai dengan penilaian tersebut. Awalnya, peta ini diisi dengan ulasan bintang lima dan bintang satu.
-
Atribut tingkat atas
Suatu atribut dikatakan tingkat atas jika tidak melekat pada atribut lain. Untuk item ProductCatalog
, atribut tingkat atas adalah sebagai berikut:
-
Id
-
Title
-
Description
-
BicycleType
-
Brand
-
Price
-
Color
-
ProductCategory
-
InStock
-
QuantityOnHand
-
RelatedItems
-
Pictures
-
ProductReviews
-
Comment
-
Safety.Warning
Semua atribut tingkat atas ini bersifat skalar, kecuali untuk Color
(daftar), RelatedItems
(daftar), Pictures
(peta), dan ProductReviews
(peta).
Atribut bersarang
Suatu atribut dikatakan bersarang jika melekat pada atribut lain. Untuk mengakses atribut bersarang, Anda menggunakan operator dereferensi:
-
[n]
— untuk elemen daftar -
.
(titik) — untuk elemen peta
Mengakses elemen daftar
Operator dereferensi untuk elemen daftar adalah [N], dengan n adalah nomor elemen. Elemen daftar berbasis nol, sehingga [0] mewakili elemen pertama dalam daftar, [1] mewakili elemen kedua, dan seterusnya. Berikut ini adalah beberapa contohnya:
-
MyList[0]
-
AnotherList[12]
-
ThisList[5][11]
Elemen ThisList[5]
itu sendiri adalah daftar bersarang. Karena itu, ThisList[5][11]
merujuk pada elemen ke-12 dalam daftar itu.
Angka di dalam tanda kurung siku harus berupa angka bulat bukan negatif. Oleh karena itu, ekspresi berikut ini tidak valid:
-
MyList[-1]
-
MyList[0.4]
Mengakses elemen peta
Operator dereferensi untuk elemen peta adalah . (titik). Gunakan satu titik sebagai pemisah antara unsur-unsur dalam peta:
-
MyMap.nestedField
-
MyMap.nestedField.deeplyNestedField
Jalur dokumen
Dalam sebuah ekspresi, Anda menggunakan jalur dokumen untuk memberi tahu DynamoDB lokasi penemuan atribut. Untuk atribut tingkat atas, jalur dokumen hanyalah nama atribut. Untuk atribut bersarang, Anda mengonstruksi jalur dokumen menggunakan operator dereferensi.
Berikut adalah beberapa contoh dari jalur dokumen. (Lihat item yang ditampilkan dalam Mengacu pada atribut item saat menggunakan ekspresi di DynamoDB.)
-
Atribut skalar tingkat atas.
Description
-
Atribut daftar tingkat atas. (Ini mengembalikan seluruh daftar, bukan hanya beberapa elemen.)
RelatedItems
-
Elemen ketiga dari daftar
RelatedItems
. (Ingat bahwa elemen daftar berbasis nol.)RelatedItems[2]
-
Gambar tampilan depan produk.
Pictures.FrontView
-
Semua ulasan bintang lima.
ProductReviews.FiveStar
-
Yang pertama dari ulasan bintang lima.
ProductReviews.FiveStar[0]
catatan
Kedalaman maksimum untuk jalur dokumen adalah 32. Oleh karena itu, jumlah operator dereferensi dalam suatu jalur tidak dapat melebihi batas ini.
Anda dapat menggunakan nama atribut apa pun di jalur dokumen asalkan memenuhi persyaratan berikut:
-
Nama atribut harus dimulai dengan tanda pound (#)
-
Karakter pertama adalah
a-z
atauA-Z
dan atau0-9
-
Karakter kedua (jika ada) adalah
a-z
,A-Z
catatan
Jika nama atribut tidak memenuhi persyaratan ini, Anda harus menentukan nama atribut ekspresi sebagai placeholder.
Untuk informasi selengkapnya, lihat Nama atribut ekspresi (alias) di DynamoDB.