情况:项目有两个mongo DB。数据库中的每个文档都包含_id
和_class
字段。在项目更新后,我需要在所有文档中更改_class
字段。这是某种迁移。
我正在考虑将此迁移脚本实现到项目的WEB部分,而部署脚本应该更新所有文档。
的信息:
1)脚本在部署期间应该只运行一次。
2)我正在使用Spring数据框架
问题: 我不知道如何只运行一次迁移脚本。是否可以使用Spring框架?什么是最有效的方法呢?
答案 0 :(得分:2)
在MongoDb中,有update()函数用于更新文档中的数据。这是重载函数,您可以根据条件传递更新所有值或某些选定值的条件。
答案 1 :(得分:0)
经过一段时间的实验,找到了如何在项目部署时运行我的代码来更新数据库。
只需从spring框架中使用@Component注释。
Class看起来像这样:
@Component
public class MongoUpdate {
/**
* Constructor.
*/
public MongoUpdate() {
try {
// Code to update mongo here
}
} catch (MongoException ex) {
} catch (UnknownHostException ex) {
}
}
}