我在任何Spring-Data文档中都找不到,在MongoDB中为文档分配过期时间的方法是什么?
谢谢,但是整个文档是否已过期并被删除,或者只是字段?
根据MongoDB文档https://docs.mongodb.com/manual/core/index-ttl/TTL索引用于从集合中删除文档。
因此,将删除整个文档,而不是唯一索引字段。
注意:索引必须定位在日期字段上,否则TTL将不适用
当做
您可以在类型为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。 我发现了类似的事情,但从来没有真正的答案。