Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Indeks Properti: sebagian FilterExpression
Jenis indeks yang didukung
| Opsi | 3.6 | 4.0 | 5.0 | 8.0 | Cluster elastis |
|---|---|---|---|---|---|
| bidang tunggal | Tidak | Tidak | Ya | Ya | Tidak |
| senyawa | Tidak | Tidak | Ya | Ya | Tidak |
| multi-tombol | Tidak | Tidak | Ya | Ya | Tidak |
| geospasial | Tidak | Tidak | Tidak | Tidak | Tidak |
Gunakan FilterExpression opsi parsi untuk membuat indeks sebagian yang hanya menyertakan dokumen yang memenuhi kondisi filter tertentu. Ini memungkinkan Anda untuk membuat indeks yang lebih efisien dengan mengindeks hanya sebagian dokumen dalam koleksi, daripada mengindeks semua dokumen, mengurangi ukuran indeks dan menghemat ruang dalam memori. Karena ukuran indeks lebih kecil, kueri yang menggunakannya lebih efisien. Amazon DocumentDB akan menggunakan indeks sebagian dalam skenario berikut:
Predikat kueri sama persis dengan ekspresi filter indeks sebagian.
Hasil yang diharapkan filter kueri adalah subset logis dari filter paral.
Sub-predikat kueri dapat digunakan bersama dengan indeks lainnya.
Untuk informasi selengkapnya, lihat Indeks sebagian.
Contoh
Contoh berikut menunjukkan cara membuat indeks sebagian 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') }
bidang tunggal
Buat indeks bidang tunggal sebagian pada produsen untuk produk yang memiliki warna Space Grey:
db.collection.createIndex( { "manufacturer": 1 }, { "name": "manufacturer_space_gray", "partialFilterExpression": { "color": { $eq: "Space Gray" } } } )
Indeks ini akan digunakan saat menemukan produk warna Space Grey oleh produsen:
db.collection.find({ "manufacturer": "The Manufacturer", "color": { $eq: "Space Gray" } })
majemuk
Buat indeks senyawa sebagian pada produsen dan warna untuk produk yang memiliki bahan Polycarbonate:
db.collection.createIndex( { "manufacturer": 1, "color": 1 }, { "name": "manufacturer_and_color_polycarbonate", "partialFilterExpression": { "material": { $eq: "Polycarbonate" } } } )
Indeks ini akan digunakan ketika menemukan produk bahan Polycarbonate oleh produsen dan warna:
db.collection.find({ "manufacturer": "The Manufacturer", "color": "Space Gray", "material": { $eq: "Polycarbonate" } })
multi-tombol
Buat indeks multi-kunci sebagian pada tag untuk produk yang memiliki produsen The Manufacturer:
db.collection.createIndex( { "tags": 1 }, { "name": "tags_the_manufacturer", "partialFilterExpression": { "manufacturer": { $eq: "The Manufacturer" } } } )
Indeks ini akan digunakan ketika menemukan produk yang ditandai dengan printer yang memiliki produsen The Manufacturer:
db.collection.find({ "tags": "printer", "manufacturer": { $eq: "The Manufacturer" } })