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 } })