MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Festlegen der Ablaufzeit für eine Sammlung in Mongodb mit Mongoose

In Mongoose erstellen Sie einen TTL-Index für ein Date über das Feld expires -Eigenschaft in der Schemadefinition dieses Felds:

// expire docs 3600 seconds after createdAt
new Schema({ createdAt: { type: Date, expires: 3600 }});

Beachten Sie Folgendes:

  • Die Datenablaufaufgabe von MongoDB wird einmal pro Minute ausgeführt, sodass ein abgelaufenes Dokument bis zu einer Minute nach seinem Ablauf bestehen bleiben kann.
  • Diese Funktion erfordert MongoDB 2.2 oder höher.
  • Es liegt an Ihnen, createdAt festzulegen auf die aktuelle Zeit beim Erstellen von Dokumenten oder fügen Sie einen default hinzu um es für Sie zu tun, wie hier vorgeschlagen.
    • { createdAt: { type: Date, expires: 3600, default: Date.now }}