MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Configurando o tempo de expiração para uma coleção no mongodb usando o mongoose


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 um default para fazer isso para você como sugerido aqui.
    • { createdAt: { type: Date, expires: 3600, default: Date.now }}