`
tanglei198577
  • 浏览: 59677 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

清理mongodb最老的数据

    博客分类:
  • java
阅读更多
public class MongoDBDataClean {

	public static void main(String[] args) throws Exception {
		
		TimerTask task = new TimerTask(){

			@Override
			public void run() {
               clearMongoData();
			}

			private void clearMongoData() {
				SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
				System.out.println("Start at : "+sdf.format(new Date()));
				
				MongoTemplate mongoTemplate = (MongoTemplate) SpringApplicationContextUtil.getInstance().getBean(
		                "mongoTemplate");
				Query query = new Query();
				query.sort().on("_id", Order.ASCENDING);
				List<HistoryEntry> list = mongoTemplate.find(query.limit(50000), HistoryEntry.class);
				
				System.out.println("Count end at :"+list.size()+"      "+sdf.format(new Date()));
				
				for(int i =0 ; i < list.size() ; i ++){
					mongoTemplate.remove(list.get(i));
				}
				System.out.println("Success end at :"+sdf.format(new Date()));
			}
		};
		
		Timer timer = new Timer();
		long delay = 0;
		long intevalPeriod = 60*1000;
		timer.scheduleAtFixedRate(task, delay, intevalPeriod);
	}
}

 

 

0
0
分享到:
评论

相关推荐

    MongoDB 32位可用

    4. 监控和优化:32位系统下的MongoDB可能需要更频繁地进行维护,例如定期清理日志、监控内存使用情况等,以保持良好的运行状态。 5. 社区支持:MongoDB有一个庞大的开发者社区,提供丰富的教程、文档和解决方案,...

    kettle插件-MongoDB Delete2.0

    MongoDB Delete 2.0插件的使用,可以帮助数据分析师和ETL开发者更有效地管理和维护MongoDB中的数据,尤其是在需要定期清理或根据业务规则调整数据集的情况下。结合Kettle的强大数据处理能力,这个插件成为了MongoDB...

    mongodb 数据库添加TTL 索引,自动清理数据库

    在MongoDB中,通过TTL索引可以简单地管理数据生命周期,实现数据的自动清理。这对于维护大量数据的数据库是非常有用的,能够减少人工介入,避免了数据的无止境积累。不过,开发者需要意识到TTL索引的限制,合理安排...

    mongoDB管理软件

    3. 数据删除:用户可以方便地删除单个文档或整个集合,以满足数据清理和测试环境的需求。 4. 查询构建器:MongoVUE提供了一个强大的查询构建器,帮助用户构建复杂的查询语句,包括基本查询、聚合查询和地理空间查询...

    MongoDB自动删除过期数据的方法(TTL索引)

    这种索引特别适用于那些需要定期清理的临时或过期数据。 TTL索引的使用限制包括: 1. 只能在单一字段上创建,且该字段必须是`Date`类型或包含`Date`类型的数组。如果数组中有多个日期字段,系统将取最早的日期作为...

    ivy-pdi-mongodb-steps:适用于MongoDB的Pentaho数据集成插件

    - **性能优化**:由于插件是专门为MongoDB设计的,因此在处理MongoDB数据时,其性能表现通常优于通用的数据库连接方式,能够更好地利用MongoDB的特性,提高数据处理速度。 5. **应用场景**: - 实时数据分析:...

    清理vnpy输入的原始数据并将其导入新的MongoDB数据库vndrwash.zip

    清理vnpy输入的原始数据并将其导入新的MongoDB数据库vndrwash

    mongodb for mac 可视化操作工具

    8. **脚本执行**:允许运行 JavaScript 脚本来执行批量操作,比如数据清理、转换等复杂任务。 9. **版本控制**:与 Git 集成,可以跟踪和管理对数据库的更改。 10. **安全特性**:支持多用户访问控制,确保数据库...

    以mongodb为数据库用php做的留言系统

    同时,对于用户输入的数据,应进行验证和清理,防止SQL注入等安全问题。 9. **错误处理**:在编写代码时,要考虑到可能出现的各种错误情况,比如连接失败、查询异常等,确保程序的健壮性。 10. **性能优化**:根据...

    mongodb-linux-x86_64-3.0.7.tgz

    - **TTL索引**:允许设置过期时间,自动删除过期数据,方便实现缓存或日志清理。 安装和启动MongoDB 3.0.7的步骤大致如下: 1. 解压文件到适当位置,如 `/usr/local/mongodb`。 2. 配置`mongod.conf`文件,指定数据...

    mongoDB linux安装包

    MongoDB是一款高性能、无模式的NoSQL数据库,广泛应用于大数据处理、实时分析和分布式应用程序中。在Linux系统上安装MongoDB是一项基础且重要的任务。以下将详细介绍如何在Linux环境下安装和配置MongoDB。 首先,...

    MongoDB面试锦集

    - **清理**: 可以清理不再需要的文件,但需要谨慎操作以避免数据丢失。 #### 28. 查看MongoDB使用的链接 - **命令**: 使用`netstat`命令或其他工具查看MongoDB使用的端口和连接情况。 #### 29. 块移动失败后的清理...

    mongodb 2.6 升级 4.0 数据备份迁移

    - 当数据备份恢复后,由于MongoDB不会自动释放已占用的硬盘空间,你需要手动清理冗余数据。可以运行 `db.repairDatabase()` 来压缩数据库并释放空间。这个操作会重建所有索引,并可能导致服务短暂不可用。 5. **...

    基于 mongodb 可上传各种格式文件,主要是针对图片,Excel ,word 等文件进行上传。可单独部署。

    可能需要定期清理不再使用的旧文件,或者使用生命周期管理策略来自动删除过期的文件。另外,通过设置合适的缓存策略,可以提高读取性能,减少对数据库的压力。 在监控和日志记录方面,为了确保系统的稳定运行,可能...

    基于nodejs+mongodb实现简单的用户增删改查功能

    MongoDB使用文档型数据模型,数据以JSON格式存储,这与Node.js中的JavaScript对象非常契合。 ### 实现步骤 1. **环境配置**:首先,确保已经安装了Node.js和MongoDB,并在项目中设置好`package.json`文件,通过`...

    mongodb-win32-x86_64-2.2.2.zip

    4. **维护操作**:定期进行数据清理、碎片整理以及版本升级,保持系统的最佳状态。 总结来说,"mongodb-win32-x86_64-2.2.2.zip"是MongoDB针对Windows 64位平台的2.2.2版本安装包,提供了一整套在Windows环境中运行...

    MongoDB集群架构.pptx

    - **自动清理过期数据**:可通过在文档中设置TTL索引来实现,但该字段必须是`mongoDate()`类型。 2. **分片集群**: - **分库分表**:当单个集合数据量过大(如8亿以上)时,可以使用分片来分摊负载。分片允许...

    MongoDB图形客户端工具

    8. 脚本和自动化:支持创建和运行MongoDB脚本,实现自动化任务,如定期备份、数据清理等。 9. 图形化复制集管理:对于部署在复制集上的MongoDB,客户端工具能帮助管理复制集成员,监控复制状态,处理故障转移。 10...

Global site tag (gtag.js) - Google Analytics