Java MongoDB(使用Spring数据)-归档

Java MongoDB(使用Spring数据)-归档,java,spring,mongodb,archive,Java,Spring,Mongodb,Archive,我正在SpringWeb应用程序中使用mongo 我有一个文档正在不断更新并填充数据 我有几个问题: 1如果文档已编制索引,并且填充速度非常快,我的web应用程序的性能是否会随着时间的推移而降低?如果相关的话,我的更新\回迁主要由ID完成 2如果问题1的答案是肯定的-我如何为我的大量收藏实施归档方法?我希望将过去2个月的数据保存在该集合中,其他数据应存档。spring\mongo是否支持这一点 3我应该以什么方式保存我的档案?它应该是一个简单的文件吗?另一个数据库 谢谢请确保您的问题中没有混淆文

我正在SpringWeb应用程序中使用mongo

我有一个文档正在不断更新并填充数据

我有几个问题:

1如果文档已编制索引,并且填充速度非常快,我的web应用程序的性能是否会随着时间的推移而降低?如果相关的话,我的更新\回迁主要由ID完成

2如果问题1的答案是肯定的-我如何为我的大量收藏实施归档方法?我希望将过去2个月的数据保存在该集合中,其他数据应存档。spring\mongo是否支持这一点

3我应该以什么方式保存我的档案?它应该是一个简单的文件吗?另一个数据库


谢谢

请确保您的问题中没有混淆文档和收藏的含义。您的收藏中是否只有一个文档需要更新

到1如果将新文档插入到具有索引的集合中,并且新文档包含索引键,则如果集合增长,此操作会变慢,因为必须更新索引,并且可能需要在存储格式中移动文档。如果你在你的集合中插入的次数比你在其中搜索的次数要多,你可以考虑删除索引来加快插入速度,但是减慢搜索速度。在做出快速决策之前,您应该在演示数据集上对这两种解决方案进行性能测试

到2,我不知道它是否由spring支持。但您可以使用mongoexport备份单个集合。看看我的表

到3,导出的集合将是JSON格式的UTF-8文本文件。集合中的每个文档对应一行。导出后,您可以压缩文件以缩小使用的内存

mongoexport -d databasename -c collectionname -o savefilename.json