View a markdown version of this page

Indeks Properti: jarang - Amazon DocumentDB

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

Indeks Properti: 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 dokumen pengindeksan yang kehilangan 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 jarang, Anda harus menggunakan klausa $exists pada bidang yang diindeks. Jika Anda menghilangkan klausa $exists, Amazon DocumentDB tidak akan menggunakan indeks sparse.

Contoh

Contoh berikut menunjukkan cara membuat indeks sparse 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 ulasan, materi, dan bidang 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 saat menemukan semua produk yang memiliki nilai material:

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

majemuk

Buat indeks senyawa jarang pada bidang material dan warna:

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

Indeks ini akan digunakan saat menemukan semua produk yang memiliki kombinasi nilai material 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 } })