Índices TTL

Borra documentos solos cuando pasa su tiempo de vida.

Haz que los documentos se borren solos cuando pasa su tiempo de vida, con un índice TTL sobre un campo de fecha.

Requisitos

  • Un usuario con dbAdmin o readWrite sobre la base.
  • Un campo de tipo fecha en los documentos.

Crear el índice

JavaScript
db.sesiones.createIndex({ ultimoAcceso: 1 }, { expireAfterSeconds: 3600 });

Cambiar el tiempo de vida

JavaScript
db.runCommand({ collMod: "sesiones", index: { keyPattern: { ultimoAcceso: 1 }, expireAfterSeconds: 7200 } });

Comprobar

Una sesión cuyo ultimoAcceso tiene más de una hora deja de aparecer en las consultas poco después.

Problemas frecuentes

  • Un documento sin fecha en ese campo, o con otro tipo, no caduca nunca.

Ver también