情况:项目有两个 mongo DB。DB 中的每个文档都包含_id
和_class
字段。在项目中更新后,我需要更改_class
所有文档中的字段。那是某种迁移。
我正在考虑将此迁移脚本实施到项目的 WEB 部分,而部署脚本应更新所有文档。
信息:
1) 脚本在部署期间只能运行一次。
2) 我正在使用 Spring 数据框架
问题: 我不知道如何只运行一次迁移脚本。是否可以使用 Spring 框架?什么是最有效的方法?
情况:项目有两个 mongo DB。DB 中的每个文档都包含_id
和_class
字段。在项目中更新后,我需要更改_class
所有文档中的字段。那是某种迁移。
我正在考虑将此迁移脚本实施到项目的 WEB 部分,而部署脚本应更新所有文档。
信息:
1) 脚本在部署期间只能运行一次。
2) 我正在使用 Spring 数据框架
问题: 我不知道如何只运行一次迁移脚本。是否可以使用 Spring 框架?什么是最有效的方法?
在 MongoDb 中,有一个 update() 函数用于更新文档中的数据。这是一个重载的函数,你通过条件来根据条件更新所有值或一些选定的值。
After some time of experiments found way how to run my code for updating DB once, while project deploying.
Simply the idea to use @Component annotation from spring framework.
Class looks looks this:
@Component
public class MongoUpdate {
/**
* Constructor.
*/
public MongoUpdate() {
try {
// Code to update mongo here
}
} catch (MongoException ex) {
} catch (UnknownHostException ex) {
}
}
}