ノードが 1 つだけの MongoDB のインスタンスを使用しています。データ ファイルを fsync してバックアップ フォルダーに圧縮する Web サービスを作成したいと考えています。
理想的には、(構成ファイルを読み取るのではなく) プログラムでデータ ディレクトリの場所を取得して、インストール パスが異なる開発マシンから運用マシンに簡単に移植できるようにします。Java ドライバーを使用してこれを行う方法はありますか?
ノードが 1 つだけの MongoDB のインスタンスを使用しています。データ ファイルを fsync してバックアップ フォルダーに圧縮する Web サービスを作成したいと考えています。
理想的には、(構成ファイルを読み取るのではなく) プログラムでデータ ディレクトリの場所を取得して、インストール パスが異なる開発マシンから運用マシンに簡単に移植できるようにします。Java ドライバーを使用してこれを行う方法はありますか?
ここで概説されているように use admin db.runCommand({getCmdLineOpts: 1}) を使用してから、返されたデータで遊んでみてください。
リターンデータの例は
{
"argv" : [
"mongod",
"--port",
"6669",
"--dbpath=c:\\data\\mongo2",
"--rest"
],
"parsed" : {
"dbpath" : "c:\\data\\mongo2",
"port" : 6669,
"rest" : true
},
"ok" : 1
}
mongoexportを使用してデータを取得できます。本番マシンから実行し、開発マシンのホスト/ポート/コレクションを指定します。mongoimportを使用して、データを本番マシンにインポートできます。