4

Is there any possibility in MongoDB java driver to make backUp and restore DB?

My solution (just execute command) for now:

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);
    }
}

Thanks in advance.

4

1 に答える 1

4

短い答えは、現時点では NO です。これらのコマンドは、コマンド ラインからのみ呼び出すことができます。すべてのコレクションからすべてのデータをフェッチすることを検討するかもしれませんが、遅いことが予想されます。これに関する議論はこちらで読むことができます

[ UPDATE]

ただし、 Java のコマンド ラインからmongodumpおよびコマンドを呼び出すことはできます。mongorestoreこれは、コードを実行するマシンに両方のコマンドがインストールされていることを確認する必要があることを意味します。

于 2016-07-20T14:24:47.510 に答える