web-dev-qa-db-ja.com

ダンプされたMongodbをインポートする方法は?

MongoDBを正常にダンプしました:

$ mongodump -h ourhost.com:portnumber -d db_name01 -u username -p

テストサーバーにインポートまたはエクスポートする必要があり、苦労しています。理解するのを手伝ってください。

私はいくつかの方法を試しました:

$ mongoimport -h Host.com:port -c dbname -d dbname_test -u username -p
connected to Host.
Password: ...

このエラーが発生します:

assertion: 9997 auth failed: { errmsg: "auth fails", ok: 0.0 }

$ mongoimport -h Host.com:port -d dbname_test -u username -p

このエラーが発生します:

no collection specified!

使用するコレクションを指定するにはどうすればよいですか? -dには何を使用すればよいですか?アップロードしたいもの、またはテストとして使用したいものはありますか?コレクションだけでなく、完全なDBをインポートしたいと思います。

23
YogiZoli

mongodumpに対応するものはmongorestoreです(そしてmongoimportに対応するものはmongoexportです)-主な違いは、作成され理解されるファイルの形式にありますツールによる(dumpおよびrestore読み取りおよび書き込み [〜#〜] bson [〜#〜] ファイル; exportおよびimportテキストファイル形式を処理します:JSON、CSV、TSV。

すでにmongodumpを実行している場合は、dumpという名前のディレクトリがあり、ダンプされた各データベースのサブディレクトリと、各コレクションのそれらのディレクトリにファイルがあります。次に、次のようなコマンドでこれを復元できます。

mongorestore -h Host.com:port -d dbname_test -u username -p password dump/dbname/

データベースdbnameの内容をdbname_testという新しいデータベースに入れたいと仮定します。

39
dcrosta

mongodumpを実行すると、バイナリ形式でダンプされます。このデータを「インポート」するには、mongorestoreを使用する必要があります。

Mongoimportは、mongoexportを使用してエクスポートされたデータをインポートするためのものです。

3

認証データベースの指定が必要になる場合があります

mongoimport -h localhost:27017 --authenticationDatabase admin -u user -p -d database -c collection --type csv --headerline --file awesomedata.csv 
3
Ricky