

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# インデックスプロパティ: expireAfterSeconds
<a name="index-property-expireafterseconds"></a>

## サポートされているインデックスタイプ
<a name="index-property-expireafterseconds-supported"></a>


| インデックスタイプ | 3.6 | 4.0 | 5.0 | 8.0 | Elastic クラスター | 
| --- | --- | --- | --- | --- | --- | 
| 単一フィールド | はい  | はい | はい | はい | はい | 
| マルチキー | はい  | はい | はい | はい | はい | 

expireAfterSeconds オプションを使用して、有効期限 (TTL) インデックスを作成します。TTL インデックスを使用すると、各ドキュメントのタイムアウト条件に基づいて、経過時間に基づいてドキュメントを削除できます。ドキュメントが指定された TTL 経過時間に達すると、そのドキュメントはコレクションから削除されます。

TTL 削除のベストプラクティスについては、「」を参照してください[TTL および時系列ワークロード](best_practices.md#best_practices-ttl_timeseries)。

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

次の例は、次のサンプルドキュメントで TTL インデックスを作成する方法を示しています。

```
{
  "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'),
      "rating": 4,
      "comment": "Good product"
    },
    {
      "review_date": ISODate('2024-03-15T14:22:33.120Z'),
      "rating": 5,
      "comment": "Excellent printer"
    },
    {
      "review_date": ISODate('2024-06-08T09:45:18.890Z'),
      "rating": 3,
      "comment": "Average quality"
    }
  ],
  "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')
}
```

**単一フィールド**

lastUpdated に TTL インデックスを作成し、90 日以内に更新されていないドキュメントを削除します。

```
db.collection.createIndex(
  {
    "lastUpdated": 1
  },
  {
    "name": "lastUpdated_ttl",
    "expireAfterSeconds": 7776000
  }
)
```

**マルチキー**

reviews.review\_date に TTL インデックスを作成して、過去 1 年間にレビューがないドキュメントを削除します。

```
db.collection.createIndex(
  {
    "reviews.review_date": 1
  },
  {
    "name": "reviews_review_date_ttl",
    "expireAfterSeconds": 31536000
  }
)
```

TTL インデックスが配列フィールドにある場合、配列内のすべての項目がチェックされることに注意してください。配列内のタイムスタンプがタイムアウト条件を満たしている場合、ドキュメントは削除されます。