View a markdown version of this page

Indeks Senyawa - Amazon DocumentDB

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

Indeks Senyawa

Indeks majemuk menyimpan informasi dari dua atau lebih bidang dalam kumpulan dokumen, memungkinkan kueri pada bidang pertama atau bidang awalan apa pun. Indeks ini mengoptimalkan kinerja untuk kueri yang memfilter pada beberapa bidang secara bersamaan atau menggabungkan pemfilteran dengan operasi penyortiran. Mereka juga efektif untuk kueri kondisi tunggal di bidang terindeks paling kiri. Basis data memanfaatkan entri indeks ini untuk secara efisien menemukan dokumen yang cocok tanpa melakukan pemindaian koleksi lengkap.

Indeks bidang majemuk bermanfaat ketika:

  • Anda perlu memfilter pada beberapa bidang secara bersamaan.

  • Anda perlu menggabungkan pemfilteran dengan operasi penyortiran.

Properti indeks yang didukung

Opsi 3.6 4.0 5.0 8.0 Cluster elastis
name Ya Ya Ya Ya Ya
unik Ya Ya Ya Ya Ya
jarang * Ya Ya Ya Ya Ya
FilterExpressionparsial* Tidak Tidak Ya Ya Tidak

* partialFilterExpression Opsi sparse dan tidak dapat digunakan bersama dalam definisi indeks yang sama. Jika Anda mencoba membuat indeks dengan opsi ini, itu akan gagal dengan kesalahan berikut:

Error in specification: cannot mix partialFilterExpression and sparse options

Membuat indeks majemuk

Gunakan createIndex() metode ini untuk membuat indeks majemuk. Sintaks metode adalah: db.collection.createIndex(<keys>, <options>)

keysParameternya adalah dokumen JSON yang menentukan bidang dan urutan pengurutan indeks:

{ "<field 1>": <1 (ascending)|-1 (descending)>, "<field 2>": <1 (ascending)|-1 (descending)>, ... }

Perhatikan bahwa hanya satu bidang yang dapat menjadi array dalam indeks majemuk. Jika Anda mencoba membuat indeks gabungan pada dua atau lebih bidang array, itu akan gagal dengan kesalahan berikut:

multiple fields of compound index cannot be arrays

optionsParameternya adalah dokumen JSON yang menentukan opsi untuk indeks:

{ "name": "<name>", "unique": <true | false>, "sparse": <true | false>, "partialFilterExpression": <filter expression> }

Lihat Properti Indeks untuk contoh pembuatan indeks majemuk.