I Mongoose skapar du ett TTL-index på ett Date
fältet via expires
egenskap i schemadefinitionen för det fältet:
// expire docs 3600 seconds after createdAt
new Schema({ createdAt: { type: Date, expires: 3600 }});
Observera att:
- MongoDB:s uppgift för utgångsdatum körs en gång i minuten, så ett utgånget dokument kan finnas kvar upp till en minut efter dess utgång.
- Denna funktion kräver MongoDB 2.2 eller senare.
- Det är upp till dig att ställa in
createdAt
till den aktuella tiden när du skapar dokument, eller lägg till endefault
att göra det åt dig som föreslås här.{ createdAt: { type: Date, expires: 3600, default: Date.now }}