View a markdown version of this page

Properti Indeks: jarang - Amazon DocumentDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Properti Indeks: jarang

Jenis indeks yang didukung

Opsi 3.6 4.0 5.0 8.0 Cluster Elastis
bidang tunggal Ya Ya Ya Ya Ya
senyawa Ya Ya Ya Ya Ya
multi-tombol Ya Ya Ya Ya Ya

Gunakan opsi sparse untuk melewati pengindeksan dokumen yang tidak memiliki bidang yang diindeks, mengurangi ukuran indeks dan menghemat ruang dalam memori. Karena ukuran indeks lebih kecil, kueri yang menggunakannya lebih efisien. Agar kueri menggunakan indeks sparse, Anda harus menggunakan klausa $exist pada bidang yang diindeks. Jika Anda menghilangkan klausa $exist, Amazon DocumentDB tidak akan menggunakan indeks sparse.

Contoh

Contoh berikut menunjukkan cara membuat indeks jarang pada dokumen contoh berikut:

{ "productId": "PROD133726", "sku": "SKU24224", "name": "Basic Printer", "manufacturer": "The Manufacturer", "tags": [ "printer", "basic", "electronics", "business" ], "barcodes": [ "542364671", "886330670", "437445606" ], "reviews": [ { "review_date": ISODate('2024-01-19T21:37:10.585Z'), ... } ], "material": "Polycarbonate", "color": "Space Gray", "supplier": { "supplierId": "SUP4", "location": { "type": "Point", "coordinates": [ -71.0589, 42.3601 ] } }, "productEmbedding": [ -0.019320633663838058, 0.019672111388113596 ], "lastUpdated": ISODate('2025-10-20T21:37:10.585Z') }

Perhatikan bahwa kolom ulasan, materi, dan warna tidak ada di semua dokumen.

bidang tunggal

Buat indeks bidang tunggal yang jarang pada bidang material:

db.collection.createIndex( { "material": 1 }, { "name": "material_sparse", "sparse": true } )

Indeks ini akan digunakan ketika menemukan semua produk yang memiliki nilai untuk bahan:

db.collection.find({ "material": { $exists: true } })

senyawa

Buat indeks majemuk jarang pada bidang material dan warna:

db.collection.createIndex( { "material": 1, "color": 1 }, { "name": "material_and_color_sparse", "sparse": true } )

Indeks ini akan digunakan ketika menemukan semua produk yang memiliki kombinasi nilai bahan dan warna:

db.collection.find({ "material": { $exists: true } }) db.collection.find({ "color": { $exists: true } }) db.collection.find({ $and: [ { "material": { $exists: true } }, { "color": { $exists:true } } ] }) db.collection.find({ $and: [ { "color": { $exists: true } }, { "material": { $exists:true } } ] })

multi-tombol

Buat indeks multi-kunci yang jarang pada array ulasan:

db.collection.createIndex( { "reviews": 1 }, { "name": "reviews_sparse", "sparse": true } )

Indeks ini akan digunakan saat menemukan semua produk yang memiliki array ulasan:

db.collection.find({ "reviews": { $exists: true } })