当前位置: 首页 > 知识库问答 >
问题:

Spring Data MongoDB如何以编程方式分配过期时间

佟云
2023-03-14

我在任何Spring-Data文档中都找不到,在MongoDB中为文档分配过期时间的方法是什么?

共有2个答案

楮景明
2023-03-14

谢谢,但是整个文档是否已过期并被删除,或者只是字段?

根据MongoDB文档https://docs.mongodb.com/manual/core/index-ttl/TTL索引用于从集合中删除文档。

因此,将删除整个文档,而不是唯一索引字段。

注意:索引必须定位在日期字段上,否则TTL将不适用

当做

卫仲卿
2023-03-14

您可以在类型为Date的字段上使用@Indexed注释的expireAfter秒属性来执行此操作。大致:

@Document
public class SomeEntity {

    String id;

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

   // rest of code here

}

或者通过操纵一个MongoTem板

mongoTemplate
    .indexOps(SomeEntity.class)
    .ensureIndex(new Index().on("someDateField", Sort.Direction.ASC).expire(3600));
 类似资料:
  • 我正在尝试使用设置log4j2以写入日志。我希望以编程方式配置日志记录系统,而不是使用XML文件。 以下是我尝试过的内容(大部分与网站上的文档相同)https://logging.apache.org/log4j/2.x/manual/customconfig.html#Configurator): 我在main方法的开头调用方法。当我运行我的程序时,会创建一个名为的文件,但是所有日志输出都会转到

  • 我需要实现一个Android应用程序,允许用户配置VPN连接,而无需访问Android设备的本机菜单。我有两个问题: > 在Android 4.0(api级别14及以上)中,我发现有一个名为VpnService的新组件,它提供了一个钩子来创建虚拟网络接口,配置它,并从它拦截/转发包到VPN服务器,但是有没有像PPTP或IPSec这样的内置vpn协议,只有实现它们的可能性。我的问题是PPTP和IPS

  • 问题内容: 尽管我看过很多类似的问题,但没有找到明确的答案。使用Servlet Spec 2.5,是否可以以编程方式添加Servlet过滤器和映射?首选位置在Servlet.init()或ServletContextListener.contextInitialized()中。 问题答案: 不,不是通过标准的Servlet 2.5 API。这是在Servlet 3.0 中引入的。最好的选择是创建一

  • 我正在尝试使用以下方法为我的应用程序设置日历: 许可: 获取异常:用户10215和当前进程都没有Android.permission.set_time。

  • 服务器时间在单击按钮事件中自动设置为我的设备。

  • 我在logback.xml中定义了一个logback appender,它是一个DB appender,但是我想知道是否有任何方法可以使用我自己定义为bean的连接池在java中配置appender。 我发现了类似的事情,但从来没有真正的答案。