我正在为实体类配置mongo TTL。这是我的代码
@Document(collection = "Test")
public class Test{
@Id
private String id;
@Indexed(name = "expire_at", expireAfter = "#{${mongo.data.expire.days}}")
private Instant expireAt;
}
字符串
在我的财产档案里,我已经给出了
mongo:
data:
expire:
days: 10d
型
我试过给"#{${mongo.data.expire.days}}"
,"#{@Value(mongo.data.expire.days)}"
,"${mongo.data.expire.days}"
,但没有任何工作。
有人帮我一下。
1条答案
按热度按时间nbewdwxp1#
正如我所知道的,没有Spring的方式来做这件事。如果我没有弄错的话-JPA实体不是Spring bean,你对此无能为力。
另外,如果我没有弄错的话,注解参数应该是编译时常量。
我很确定可能有一种方法可以破解它,但不确定这是否是一种简单的方法来理解和支持以后。
也可以考虑将文档和索引的配置方式从代码转移到https://mongock.io/或类似的迁移工具。x1c 0d1x的数据
也许稍后会更容易理解,您的索引配置在 migration 工具中描述