

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

# Indeks Senyawa
<a name="indexes-compound"></a>

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
<a name="indexes-compound-properties"></a>


| Opsi | 3.6 | 4.0 | 5.0 | 8.0 | Cluster elastis | 
| --- | --- | --- | --- | --- | --- | 
| [name](index-property-name.md) | Ya | Ya | Ya | Ya | Ya | 
| [unik](index-property-unique.md) | Ya | Ya | Ya | Ya | Ya | 
| [jarang \*](index-property-sparse.md) | Ya | Ya | Ya | Ya | Ya | 
| [FilterExpressionparsial\*](index-property-partialfilterexpression.md) | 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
<a name="indexes-compound-creating"></a>

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

`keys`Parameternya 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
```

`options`Parameternya adalah dokumen JSON yang menentukan opsi untuk indeks:

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

Lihat [Properti Indeks](index-properties.md) untuk contoh pembuatan indeks majemuk.