No Mongoose, você cria um índice TTL em um
Date
campo através do expires
propriedade na definição do esquema desse campo:// expire docs 3600 seconds after createdAt
new Schema({ createdAt: { type: Date, expires: 3600 }});
Observe que:
- A tarefa de expiração de dados do MongoDB é executada uma vez por minuto, portanto, um documento expirado pode persistir até um minuto após sua expiração.
- Este recurso requer o MongoDB 2.2 ou posterior.
- Depende de você definir
createdAt
para a hora atual ao criar documentos ou adicione umdefault
para fazer isso para você como sugerido aqui.{ createdAt: { type: Date, expires: 3600, default: Date.now }}