Spring Data MongoDB how to assign expiration time programmatically
mongodb, spring-data
Solution
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));
Problem
I couldn't find in any of the Spring-Data documents, what is the way to assign expiration time to a document in MongoDB?