使用 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 中的命令行调用 mongodump
和 mongorestore
命令。这意味着您必须确保这两个命令都安装在您运行代码的机器上。
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 中的命令行调用 mongodump
和 mongorestore
命令。这意味着您必须确保这两个命令都安装在您运行代码的机器上。