使用spring boot将大量数据从一个集合复制到Mongodb中的另一个集合
Posted
技术标签:
【中文标题】使用spring boot将大量数据从一个集合复制到Mongodb中的另一个集合【英文标题】:Copy of huge data from one collection to another collection in Mongodb using spring boot 【发布时间】:2021-09-27 15:34:48 【问题描述】:我们正在编写一个调度程序,使用 Spring Boot 将数据从一个集合备份到 Mongodb 中的另一个集合。 数据可以是 500K 到 100 万个文档。 复制完成后,我们应该从旧集合中删除数据。目前我们正在使用spring数据分页来获取数据块并保存到新集合然后删除。
这种方法是否可行,或者任何乐观的方法都值得推荐。
【问题讨论】:
考虑重命名集合,会比复制和删除快得多。而不是删除文档,而是考虑drop整个集合,这也更快。 【参考方案1】:当你在这个任务中使用带有分页的 spring 数据时,这意味着你使用容器来处理文档。
您可以从调度程序触发一组系统命令(mongo 导出和导入后从源中删除数据)。
例如..
SystemCommandTasklet tasklet = new SystemCommandTasklet();
tasklet.setCommand(""); tasklet.setWorkingDirectory("/home/merlin");
【讨论】:
以上是关于使用spring boot将大量数据从一个集合复制到Mongodb中的另一个集合的主要内容,如果未能解决你的问题,请参考以下文章
Java spring boot + spring batch:处理大量信息
使用spring boot将zip文件从应用程序资源文件夹复制到目标
Spring boot集成Redis—RedisTemplate的使用来存储Map集合
我应该如何将数据库表复制到可以在 Spring Boot Rest api 中使用的等效 Java bean 类中?