Resumen

TTL o Time To Live (Tiempo de vida), se refiere en términos generales a un concepto o estrategia de expiración de contenidos en base a una cantidad específica de segundos.

MongoDB implementa TTL mediante una opción que se agrega a los índices que han sido creados sobre un campo de tipo fecha, que al ser evaluado después de un período específico de tiempo, determina si un documento a expirado o no, con lo cual sería eliminado de la colección de manera automática.

Esta funcionalidad es muy útil por ejemplo para el manejo de expiración de sesiones de usuarios.

La sintaxis de MongoDB para crear índices con TTL es la siguiente:

db.<coleccion>.createIndex(
  { <campo fecha>: 1 },
  { expireAfterSeconds: <cantidad de segundos> }
)

De esta manera, MongoDB se hace cargo de evaluar cada vez que se realice una consulta a una colección, cuáles documentos han superado el TTL en base al campo indicado y automáticamente los elimina por nosotros.