2017-05-14 231 views
2

我無法在任何Spring-Data文檔中找到如何爲MongoDB中的文檔分配過期時間。 任何人都可以幫助一個例子嗎? 謝謝。Spring Data MongoDB如何以編程方式分配過期時間

+0

的可能的複製[如何保存時間戳在MongoDb |中輸入值Java](http://stackoverflow.com/questions/27895955/how-to-save-timestamp-type-value-in-mongodb-java) –

回答

3

可以使用@Indexed標註的expireAfterSeconds屬性在字段的類型做到這一點是Date .Roughly:

@Document 
public class SomeEntity { 

    String id; 

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

    // rest of code here 

} 

或者通過操縱MongoTemplate

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

謝謝,但整個文件過期和刪除或只是字段? – ArsenalFan

+0

整個文檔。查看TTL索引:https://docs.mongodb.com/manual/core/index-ttl/ –

相關問題