使用 MongoDB java 驱动程序备份和恢复数据库

BackUp and restore db with MongoDB java driver

MongoDB java 驱动程序是否有可能备份和恢复数据库?

我现在的解决方案(只执行命令):

public void makeBackUp(String path) {
    try {
        Runtime.getRuntime().exec("mongodump --out " + path);
    } catch (IOException ex) {
        Logger.getLogger(MongoDB.class.getName()).log(Level.SEVERE, null, ex);
    }

}

public void restore(String backUpPath) {
    try {
        Runtime.getRuntime().exec("mongorestore " + backUpPath);
    } catch (IOException ex) {
        Logger.getLogger(MongoDB.class.getName()).log(Level.SEVERE, null, ex);
    }
}

提前致谢。

目前简短的回答是否定的。这些命令只能从命令行调用。您可能会考虑从所有集合中获取所有数据,但预计速度会很慢。您可以阅读围绕此 here.

的讨论

[UPDATE]

但是,您可以从 java 中的命令行调用 mongodumpmongorestore 命令。这意味着您必须确保这两个命令都安装在您运行代码的机器上。