2017-05-14 5 views
2

Ich konnte in keinem der Spring-Data-Dokumente finden, wie die Ablaufzeit zu einem Dokument in MongoDB zuweisen. Kann jemand mit einem Beispiel helfen? Danke.Spring Data MongoDB wie Ablaufzeit programmgesteuert zuweisen

+0

Mögliche Duplikat von [Wie Zeitstempel speichern Typ Wert in MongoDb | Java] (http://stackoverflow.com/questions/27895955/how-to-save-timestamp-type-value-in-mongodb-java) –

Antwort

3

Sie können es mit @Indexed der Anmerkung expireAfterSeconds Attribut über ein Feld, dessen Typ Date .Roughly:

@Document 
public class SomeEntity { 

    String id; 

    @Field 
    @Indexed(name="someDateFieldIndex", expireAfterSeconds=3600) 
    Date someDateField; 

    // rest of code here 

} 

oder durch Manipulation ein MongoTemplate:

mongoTemplate 
    .indexOps(SomeEntity.class) 
    .ensureIndex(new Index().on("someDateField", Sort.Direction.ASC).expire(3600)); 
+0

Danke, aber ist das ganze Dokument abgelaufen und gelöscht oder nur das Feld? – ArsenalFan

+0

Ganzes Dokument. Siehe TTL-Index: https://docs.mongodb.com/manual/core/index-ttl/ –

Verwandte Themen