次のパスc:\mongodb\bin
にmongo DBをインストールしています。環境変数PATHを詳細設定で構成しました。mongodを実行しています。次のパスc:\hw1-1\dump
(これにはBSONファイルが含まれています)から次のコマンドmongorestore dumpを実行するとこのエラーが発生しています:
ダンプファイルの処理方法がわからない
このスレッド を参照して、パスを確認しました。
mongodb 3.0以降では、復元するデータベース名を指定する必要があります
mongorestore -d [your_db_name] [your_dump_dir]
あなたはおそらくこのエラーを見ました:
エラー:ファイルの処理方法がわからない[ダンプ]
つまり、この場合、現在の作業ディレクトリにdump
というファイルまたはディレクトリが存在しないということです。したがって、最初にこれを試してくださいcd c:/hw1-1/
(またはWindowsの正しい構文は何でも、テストできません。)または、dump
ディレクトリへのフルパスを指定することもできます。
mongorestore c:/hw1-1/dump
mongoexport
を使用してダンプを作成している場合は、mongoimport
ではなくmongorestore
を使用してロードしてください。
このエラーメッセージ「ファイルの処理方法がわかりません」は、.bsonファイル拡張子を持たないBSONファイルがある場合にも発生する可能性があります。
一般に、mongodump
は.bson拡張子のファイルを生成するため、これは問題ではありませんが、私の場合、mongodump
によって生成されず、異なるファイル拡張子を持つBSONファイルがありました。
Mongoで現在復元しようとしているコレクションと同じ名前のコレクションがあったときにこのエラーが発生しました。最終的にMongoに移動し、db.m101.drop()を使用して削除しました。
私はversion 3.2 windows
を使用していますが、mongorestore
にはバグがあるようです:
/db:database_name
または/d database_name
を指定すると、エラーが発生します。
don't know what to do with subdirectory "dump\database_name", skipping...
代わりに、ダンプディレクトリ全体で実行すると、動作するようです。私が使用したコマンドは次のとおりです。
mongorestore /Host:remote_Host dump
私の現在のディレクトリ構造は次のとおりです。
.
..
dump
dump\database_name
しばらくこのエラーを取得し続けた後、mongorestoreのオプションを見つけるのに時間がかかりました。
a)mongodの実行中のインスタンスはありません。
b)mongorestore -v -Host localhost:27017 --dbpath "Actual Path for the Mongo DB- set in config" "Location where the dump is"
Dbpathを使用すると、mongodの実行バージョンなしでこのコマンドを実行できます。これでエラーが解決しました。