部署脚本一次,以便在MongoDB中迁移数据

时间:2013-08-12 12:41:50

标签: java spring mongodb spring-data

情况:项目有两个mongo DB。数据库中的每个文档都包含_id_class字段。在项目更新后,我需要在所有文档中更改_class字段。这是某种迁移。

我正在考虑将此迁移脚本实现到项目的WEB部分,而部署脚本应该更新所有文档。

的信息:

1)脚本在部署期间应该只运行一次。

2)我正在使用Spring数据框架

问题:  我不知道如何只运行一次迁移脚本。是否可以使用Spring框架?什么是最有效的方法呢?

2 个答案:

答案 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) {

        }

    }
}