Wissen Sie, wie Sie Azure DocumentDB TTL hinzufügen? Ich habe versucht, eine Eigenschaft namens "TTL" mit Wert 1 zum Löschen nach 1 Sekunde (zum Testen). Aber es funktioniert nicht.So fügen Sie TTL zu Azure DocumentDB hinzu
Antwort
Sie müssen zuerst ttl für Ihre Sammlung aktivieren. Dieser findet in den Einstellungen im Portal Klinge:
Sie finden diese auf aktivieren möchten. Dann können Sie mit der Eigenschaft ttl
für neue Dokumente arbeiten (oder mit älteren Dokumenten, die bereits eine ttl
Eigenschaft haben).
Hinweis: Der Name der Eigenschaft sollte ttl
, nicht TTL
sein.
Davids Antwort ist großartig und ich möchte das nicht wiederholen, wollte nur noch ein paar Punkte hinzufügen.
Entweder können Sie die TTL aus Portal unter Einstellung wie David sagte, sonst können Sie programmgesteuert steuern. TTL kann für alle Dokumente unter Collection-Ebene oder für bestimmte Dokumenttypen festgelegt werden (wenn Sie einen bestimmten Dokumenttyp nach einem bestimmten Intervall automatisch löschen möchten)
Sie können auch die TTL eines bereits vorhandenen Dokuments zurücksetzen Schreibvorgang für das Dokument. Dadurch wird die _ts auf die aktuelle Zeit gesetzt, und der Countdown für den Ablauf des Dokuments, wie vom ttl festgelegt, beginnt erneut. Wenn Sie das TTL eines Dokuments ändern möchten, können Sie das Feld wie jedes andere einstellbare Feld aktualisieren.
collection.setDefaultTimeToLive(259200) //collection level
document.setTimeToLive(259200) //document level
Mehr here
//This is how the driver handles internally
public void setTimeToLive(Integer timeToLive)
{
if (timeToLive != null) {
super.set("ttl", timeToLive);
} else if (super.has("ttl")) {
super.remove("ttl");
}
}
Ja, das ist die richtige Antwort. Vielen Dank! :) – vishnu