web-dev-qa-db-ja.com

mongodumpによってダンプされたデータを使用する方法は?

Mongodbのデータベースをダンプするためにmongodumpを使用しました。dump/mydbの下にいくつかのbsonファイルを作成しました

しかし、私はそれらを使用する方法がわかりません。 mongoimportを試しましたが、bsonデータをインポートできないようです。次に、これらのbsonファイルを使用する方法は?それらを別のmongodbにインポートする方法は?

65
Freewind

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 もご覧ください!

65
Justin Jenkins

毎日のバックアップとバックアップからの復元に mongodumpmongorestore を使用しています。 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)のような名前でフォルダーを作成します。指定されたデータベースからダンプされたコレクションを持つバックアップ。ファイルエクスプローラーでは次のようになります。

enter image description here

指定したダンプファイルを復元するために使用する2番目のbatファイル(ここでは、ダンプファイルを含むデータベース名とフォルダーも指定する必要があります):

_SET Host=localhost:27020
SET dbNameToRestore=MyDB
SET restoreFolder=Restore

mongorestore.exe --Host %Host% --db %dbNameToRestore% %restoreFolder%
_

ファイルエクスプローラーで:

enter image description here

さらに、Windowsスケジュールを使用してバックアッププロセスを自動化しています。

上記の情報が誰かに役立つことを願っています。

37
Andrew Orsich

前の回答で述べたように、mongorestoreの代わりにmongoimportを使用する必要があります。上記の回答に追加して、mongodbの実行中に次のコマンドを実行して、ダンプディレクトリからダンプを復元します。

mongorestore dump

これにより、すべてのコレクションがmydbデータベースにインポートされます。ただし、復元する前にデータベースが削除されるわけではありません。インポートする前にデータベースを削除する場合は、

mongorestore --drop dump

mydbディレクトリ内のbsonファイルは、mydbデータベース内のコレクションとして復元されます。 mongorestoreの詳細については、ドキュメント here を参照してください。

8

Mongorestoreを使用します。 mongoimportは、mongoexportの出力で機能します。 mongodumpおよびmongorestoreはバイナリデータファイルで動作し、インポート/エクスポートはjson、csvなどで動作します。(人間が読み取れる形式)

6
will

これを解決するために、ダンプフォルダー、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;

3
Padmini C