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

Wsl*_*l_F 6 java mongodb mongo-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);
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢。

You*_*mil 5

简短的回答目前是否定的。这些命令只能从命令行调用。您可能会考虑从所有集合中获取所有数据,但预计会很慢。您可以在此处阅读有关此问题的讨论。

[ UPDATE]

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