Mongodbのデータベースをダンプするためにmongodump
を使用しました。dump/mydb
の下にいくつかのbsonファイルを作成しました
しかし、私はそれらを使用する方法がわかりません。 mongoimport
を試しましたが、bsonデータをインポートできないようです。次に、これらのbsonファイルを使用する方法は?それらを別のmongodbにインポートする方法は?
Jsonやcsvなどのインポートなどに使用されるmongoimport ...ではなく、mongorestoreを使用する必要があります。
から back-up-with-mongodump
docs:
mongodump
は、MongoDBデータベースからデータを読み取り、mongorestore
ツールがMongoDBデータベースにデータを入力するために使用できる忠実度の高いBSONファイルを作成します。
mongodump
およびmongorestore
は、小規模なMongoDB展開をバックアップおよび復元するためのシンプルで効率的なツールですが、大規模なシステムのバックアップをキャプチャするには理想的ではありません。
以下のドキュメントでmongorestoreの詳細を読むことができます。彼らは非常に役立つので、私はそれらを調べて読んでみたいと思います。
http://www.mongodb.org/display/DOCS/Import+Export+Tools#ImportExportTools-mongorestore
ヒントとヘルプについては、 http://learnmongo.com もご覧ください!
毎日のバックアップとバックアップからの復元に mongodump 、 mongorestore を使用しています。 2つの_.bat
_ファイルがあります。
最初に、バックアップのために、ホストデータベース名とバックアップフォルダーを指定するだけです:
_SET Host=localhost:27020
SET dbNameToDump=MyDB
SET backupsFolder=Backups
mongodump.exe --Host %Host% --db %dbNameToDump%
SET date="%date:~10,4%-%date:~4,2%-%date:~7,2%.%time:~0,2%-%time:~3,2%"
cd %backupsFolder%
md %date%
xcopy /e ..\dump %date%
rmdir /s /q ..\dump
_
上記のbatファイルは、フォルダー内の2011-03-31.11-17(yyyy-MM-dd.hh-ss)
のような名前でフォルダーを作成します。指定されたデータベースからダンプされたコレクションを持つバックアップ。ファイルエクスプローラーでは次のようになります。
指定したダンプファイルを復元するために使用する2番目のbatファイル(ここでは、ダンプファイルを含むデータベース名とフォルダーも指定する必要があります):
_SET Host=localhost:27020
SET dbNameToRestore=MyDB
SET restoreFolder=Restore
mongorestore.exe --Host %Host% --db %dbNameToRestore% %restoreFolder%
_
ファイルエクスプローラーで:
さらに、Windowsスケジュールを使用してバックアッププロセスを自動化しています。
上記の情報が誰かに役立つことを願っています。
前の回答で述べたように、mongorestore
の代わりにmongoimport
を使用する必要があります。上記の回答に追加して、mongodbの実行中に次のコマンドを実行して、ダンプディレクトリからダンプを復元します。
mongorestore dump
これにより、すべてのコレクションがmydbデータベースにインポートされます。ただし、復元する前にデータベースが削除されるわけではありません。インポートする前にデータベースを削除する場合は、
mongorestore --drop dump
mydbディレクトリ内のbsonファイルは、mydbデータベース内のコレクションとして復元されます。 mongorestoreの詳細については、ドキュメント here を参照してください。
Mongorestoreを使用します。 mongoimportは、mongoexportの出力で機能します。 mongodumpおよびmongorestoreはバイナリデータファイルで動作し、インポート/エクスポートはjson、csvなどで動作します。(人間が読み取れる形式)
これを解決するために、ダンプフォルダー、dbdump(bsonファイルを含む)をmongodbのbinディレクトリにコピーし、コマンドプロンプトで以下のコマンドを実行しました。
1. cd「MongoDBのbinフォルダーへのパス」
(例:cd C:\ Program Files\MongoDB\Server\3.2\bin)
2. mongorestore.exe --dir ./ディレクトリ名--dbデータベース名
(例:mongorestore --dir ./dbdump --db testdb)
ダンプフォルダー内のすべてのbsonファイルがデータベースにインポートされます。以下のコマンドを実行することでこれを確認できます:
cd「MongoDBのbinフォルダーへのパス」
mongo.exe
show dbs;