Clean spring batch元数据mongodb

问题描述 投票:0回答:2

我正在使用Spring Batch MongoDB API。为了释放MongoDB中的空间,我决定通过删除以下集合中两个月以上的数据来清理作业执行元数据:-JobInstance-工作执行-ExecutionContext-StepExecution

春季批处理有什么办法,或者我应该创建一个Dao并批量删除每个集合的旧数据。

spring mongodb spring-batch batch-processing spring-batch-tasklet
2个回答
1
投票

您可以为提到的集合设置TTL indexes(使用mongo Shell)。

[如果需要释放磁盘空间(仅适用于WiredTiger),则可以使用compact命令(compact需要dbAdmin特权)[删除集合还从MongoDB中回收空间]。

使用collStats命令,您可以检查可以从MongoDB回收多少空间


1
投票

春季批处理有什么办法,或者我应该创建一个Dao并批量删除每个集合的旧数据。

Spring Batch不提供该OOTB,因此您需要自己进行操作(例如,使用Spring Batch作业;-)。我不熟悉您共享的MongoDB作业存储库实现(集合定义,它们之间的关系等),但是这里有一些有用的链接可能会对您有所帮助:

© www.soinside.com 2019 - 2024. All rights reserved.