I couldn\'t find in any of the Spring-Data documents, what is the way to assign expiration time to a document in MongoDB?
You can do it using @Indexed
annotation's expireAfterSeconds
attribute over a field whose type is Date
.Roughly:
@Document
public class SomeEntity {
String id;
@Field
@Indexed(name="someDateFieldIndex", expireAfterSeconds=3600)
Date someDateField;
// rest of code here
}
Or by manipulating a MongoTemplate
:
mongoTemplate
.indexOps(SomeEntity.class)
.ensureIndex(new Index().on("someDateField", Sort.Direction.ASC).expire(3600));