

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

# 索引屬性：partialFilterExpression
<a name="index-property-partialfilterexpression"></a>

## 支援的索引類型
<a name="index-property-partialfilterexpression-supported"></a>


| 選項 | 3.6 | 4.0 | 5.0 | 8.0 | 彈性叢集 | 
| --- | --- | --- | --- | --- | --- | 
| 單一欄位 | 否 | 否 | 是 | 是 | 否 | 
| compound | 否 | 否 | 是 | 是 | 否 | 
| 多金鑰 | 否 | 否 | 是 | 是 | 否 | 
| 地理空間 | 否 | 否 | 否 | 否 | 否 | 

使用 partialFilterExpression 選項建立部分索引，只包含符合指定篩選條件的文件。這可讓您建立更有效率的索引，方法是僅編製集合中文件子集的索引，而不是編製所有文件的索引，減少索引大小並節省記憶體空間。由於索引大小較小，因此使用它的查詢會更有效率。在下列案例中，Amazon DocumentDB 將使用部分索引：
+ 查詢述詞完全符合部分索引篩選條件表達式。
+ 查詢篩選條件的預期結果是部分篩選條件的邏輯子集。
+ 查詢的子述詞可以與其他索引搭配使用。

如需詳細資訊，請參閱[部分索引](partial-index.md)。

## 範例
<a name="index-property-partialfilterexpression-examples"></a>

下列範例示範如何在下列範例文件上建立部分索引：

```
{
  "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')
}
```

單一欄位

在製造商上為具有 Space Gray 顏色的產品建立部分單一欄位索引：

```
db.collection.createIndex(
  {
    "manufacturer": 1
  },
  {
    "name": "manufacturer_space_gray",
    "partialFilterExpression": {
      "color": {
        $eq: "Space Gray"
      }
    }
  }
)
```

依製造商尋找 Space Gray 顏色產品時，將會使用此索引：

```
db.collection.find({
  "manufacturer": "The Manufacturer",
  "color": {
    $eq: "Space Gray"
  }
})
```

複合

為具有 Poly carbonate 材料的產品，在製造商和顏色上建立部分複合索引：

```
db.collection.createIndex(
  {
    "manufacturer": 1,
    "color": 1
  },
  {
    "name": "manufacturer_and_color_polycarbonate",
    "partialFilterExpression": {
      "material": {
        $eq: "Polycarbonate"
      }
    }
  }
)
```

依製造商和顏色尋找聚碳化材料產品時，將會使用此索引：

```
db.collection.find({
  "manufacturer": "The Manufacturer",
  "color": "Space Gray",
  "material": {
    $eq: "Polycarbonate"
  }
})
```

多金鑰

在具有製造商之產品的標籤上建立部分多金鑰索引：

```
db.collection.createIndex(
  {
    "tags": 1
  },
  {
    "name": "tags_the_manufacturer",
    "partialFilterExpression": {
      "manufacturer": {
        $eq: "The Manufacturer"
      }
    }
  }
)
```

尋找具有製造商之印表機標籤的產品時，將會使用此索引：

```
db.collection.find({
  "tags": "printer",
  "manufacturer": {
    $eq: "The Manufacturer"
  }
})
```