Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Propriété de l'index : expire AfterSeconds
Types d'index pris en charge
| Type d'indice | 3.6 | 4.0 | 5.0 | 8.0 | Cluster élastique |
|---|---|---|---|---|---|
| champ unique | Oui | Oui | Oui | Oui | Oui |
| touches multiples | Oui | Oui | Oui | Oui | Oui |
Utilisez l'AfterSeconds option d'expiration pour créer un indice de durée de vie (TTL). Les index TTL vous permettent de supprimer des documents en fonction de leur âge en fonction de la condition de délai d'expiration de chaque document. Lorsqu'un document atteint l'âge TTL spécifié, il est supprimé de la collection.
Pour connaître les meilleures pratiques relatives aux suppressions TTL, consultez. Charges de travail TTL et séries chronologiques
Exemples
Les exemples suivants montrent comment créer des index TTL sur l'exemple de document suivant :
{ "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') }
champ unique
Créez un index TTL sur LastUpdated pour supprimer les documents qui n'ont pas été mis à jour depuis 90 jours :
db.collection.createIndex( { "lastUpdated": 1 }, { "name": "lastUpdated_ttl", "expireAfterSeconds": 7776000 } )
touches multiples
Créez un index TTL sur reviews.review_date pour supprimer les documents qui n'ont fait l'objet d'aucune révision au cours de l'année écoulée :
db.collection.createIndex( { "reviews.review_date": 1 }, { "name": "reviews_review_date_ttl", "expireAfterSeconds": 31536000 } )
Notez que si l'index TTL se trouve dans un champ de tableau, tous les éléments du tableau sont vérifiés. Si un horodatage du tableau satisfait à la condition de délai d'expiration, le document sera supprimé.