

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 單一欄位索引
<a name="indexes-single-field"></a>

單一欄位索引會儲存文件集合中任何單一欄位的資訊。根據預設，所有集合在 `_id` 欄位上都有索引。您可以新增其他索引，以加速重要的查詢和操作。

下列情況下，單一欄位索引很有幫助：
+ 您的應用程式經常根據特定欄位的值查詢或篩選文件。
+ 您需要依特定欄位有效率地排序文件。
+ 您想要透過建立唯一索引，確保集合中文件間特定欄位的唯一性。

## 支援的索引屬性
<a name="indexes-single-field-properties"></a>


| 選項 | 3.6 | 4.0 | 5.0 | 8.0 | 彈性叢集 | 
| --- | --- | --- | --- | --- | --- | 
| [name](index-property-name.md) | 是 | 是 | 是 | 是 | 是 | 
| [唯一](index-property-unique.md) | 是 | 是 | 是 | 是 | 是 | 
| [稀疏](index-property-sparse.md) \* | 是 | 是 | 是 | 是 | 是 | 
| [partialFilterExpression](index-property-partialfilterexpression.md) \* | 否 | 否 | 是 | 是 | 否 | 
| [expireAfterSeconds](index-property-expireafterseconds.md) | 是 | 是 | 是 | 是 | 是 | 

\* `sparse`和 `partialFilterExpression`選項無法在相同的索引定義中一起使用。如果您嘗試使用這些選項建立索引，它將會失敗，並出現下列錯誤：

```
Error in specification: cannot mix partialFilterExpression and sparse options
```

## 建立單一欄位索引
<a name="indexes-single-field-creating"></a>

使用 `createIndex()`方法來建立單一欄位索引。語法為：`db.collection.createIndex(<key>, <options>)`。

`key` 參數是 JSON 文件，指定 欄位和索引排序順序：

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

`options` 參數是 JSON 文件，可指定索引的選項：

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

如需建立單一欄位索引的範例，請參閱[索引屬性](index-properties.md)。