Maison > développement back-end > Golang > Comment configurer l'expiration automatique des documents dans MongoDB avec Go ?

Comment configurer l'expiration automatique des documents dans MongoDB avec Go ?

Mary-Kate Olsen
Libérer: 2024-10-29 17:24:02
original
367 Les gens l'ont consulté

How to Set Up Automatic Document Expiration in MongoDB with Go?

Expiration de documents dans MongoDB après un intervalle de temps fixe

Dans Go, à l'aide du pilote mongo-go-driver, vous pouvez automatiquement expirer les documents d'une collection en fonction d'un paramètre spécifié nombre de secondes.

Explication

Pour que les documents expirent automatiquement, vous devez :

  1. Créer un index avec l'option expireAfterSeconds : Ceci définit la durée de vie (durée de vie) des documents en fonction d'un champ (par exemple, CreateAt).
  2. Insérer des documents avec le champ d'horodatage spécifié : Lors de l'insertion de documents, assurez-vous qu'ils ont le CreateAt champ pour déterminer quand le TTL commence.

Exemple de code

Dans votre code Go :

<code class="go">// Add an index to expire documents after 1 second (for testing purposes).
model := mongo.IndexModel{
    Keys:    bson.M{"createdAt": 1},
    Options: options.Index().SetExpireAfterSeconds(1),
}
ind, err := col.Indexes().CreateOne(ctx, model)</code>
Copier après la connexion

Remarque sur le timing

C'est important à noter que l'option expireAfterSeconds spécifie la durée après laquelle un document peut être supprimé. Cependant, la suppression réelle peut ne pas avoir lieu immédiatement.

MongoDB exécute une tâche en arrière-plan toutes les 60 secondes pour supprimer les documents expirés. Par conséquent, les documents expirés peuvent rester dans la collection jusqu'à 60 secondes après l'expiration de leur durée de vie. De plus, si la base de données est soumise à une forte charge, le processus de suppression peut prendre plus de temps.

Gardez cela à l'esprit lorsque vous vous attendez à ce que vos documents soient supprimés rapidement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal