Mengacu pada atribut item saat menggunakan ekspresi di DynamoDB - Amazon DynamoDB

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) adalah 123. Tidak ada kunci urutan.

  • Sebagian besar atribut memiliki jenis daya skalar, seperti String, Number, Boolean, dan Null.

  • Satu atribut (Color) adalah String Set.

  • Atribut berikut adalah jenis daya dokumen:

    • Daftar dari RelatedItems. Setiap elemen adalah Id 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 atau A-Z dan atau 0-9

  • Karakter kedua (jika ada) adalaha-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.