

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

# Multi-key Indeks
<a name="indexes-multikey"></a>

Untuk bidang yang memiliki nilai array, indeks multi-kunci memungkinkan Anda membuat kunci indeks untuk setiap elemen dalam array. Pengindeksan array menciptakan entri indeks untuk setiap elemen array.

Multi-key indeks bermanfaat ketika aplikasi Anda sering menanyakan atau memfilter dokumen berdasarkan nilai dalam array.

## Properti indeks yang didukung
<a name="indexes-multikey-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 | 
| [kedaluwarsa AfterSeconds](index-property-expireafterseconds.md) | Ya | Ya | Ya | Ya | Ya | 

\* `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 multi-kunci
<a name="indexes-multikey-creating"></a>

Gunakan `createIndex()` metode ini untuk membuat indeks multi-kunci. Sintaks metode adalah: `db.collection.createIndex(<key>, <options>)`

`key`Parameternya adalah dokumen JSON yang menentukan bidang dan urutan pengurutan indeks:

```
{
  "<field>": <1 (ascending)|-1 (descending)>
}
```

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

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

Contoh berikut membuat indeks multi-kunci pada `categories` bidang yang diurutkan dalam urutan menaik dengan nama: `book_categories`

```
db.collection.createIndex(
  {
    "categories": 1
  },
  {
    "name": "book_categories"
  }
)
```

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