mongodbに.bsonファイル形式をインポートする方法


162

mongodumpコマンドを使用してサーバー上のデータベースをエクスポートしました.bson。ダンプはファイルに保存されます。mongorestoreコマンドを使用してローカルサーバーにインポートする必要があります。ただし、機能していません。正しいmongorestoreコマンドは何tools to restore dbですか?他は何ですか?

回答:


342

.bsonファイルをインポートするのは非常に簡単です。

mongorestore -d db_name -c collection_name /path/file.bson

単一のコレクションの場合のみIncase。これを試してください:

mongorestore --drop -d db_name -c collection_name /path/file.bson

によってエクスポートされた完全なフォルダを復元する場合mongodump

mongorestore -d db_name /path/

4
mongoexport単一のコレクションのみをエクスポートする場合、を介してエクスポートされるbsonファイルにも役立ちます。mongoimport「無効な文字」エラーが表示されていました。ありがとう!
divillysausages 2016

4
SyntaxError:行方不明; ステートメントの前@(shell):1:16
151291

3
これらのコマンドはコマンドプロンプトから実行し、mongoコンソールからは実行しないことを追加できます。それは新しいユーザーを助けるでしょう
Dreams

2
この答えに追加します。リモートでbsonファイルを復元したい人のために。Mongorestore -h [host] -u [user] -p [pass] -d [database] -c [collection] [bson file]
Jpepper 2017

1
tar.gzから抽出した後、私の完全なフォルダで機能しました。ありがとう
Braham Dev Yadav

63

mongorestoreによってダンプされたbsonファイルをインポートするために使用するツールですmongodump

ドキュメントから:

mongorestoreは、mongodumpからの出力を取得して復元します。

例:

# On the server run dump, it will create 2 files per collection
# in ./dump directory:
# ./dump/my-collection.bson
# ./dump/my-collection.metadata.json
mongodump -h 127.0.0.1 -d my-db -c my-collection

# Locally, copy this structure and run restore.
# All collections from ./dump directory are picked up.
scp user@server:~/dump/**/* ./
mongorestore -h 127.0.0.1 -d my-db

dump/dbName/collectionName.bsonフォルダー構造を維持する必要がありますか?を使用mongodumpmongorestoreましたが、リモートのLinuxボックスでインポートしたいと思います。
ケビンメレディス

@Kevin:正直なところ、よくわかりませんが、そうだと思います。FTPプログラムを使用して、ファイルをフォルダー構造と一緒に転送しますか?
Cameron

5
:私は正常に非「ダンプ」名前のフォルダ使用してモンゴDBにインポートすることができましたmongorestore --collection people --db accounts myDump/accounts/people.bson
ケビン・メレディス

35
bsondump collection.bson > collection.json

その後

mongoimport -d <dbname> -c <collection> < collection.json

7
MongoDBの者からの警告に注意してください輸出入のマニュアルをmongoimport and mongoexport do not reliably preserve all rich BSON data types because JSON can only represent a subset of the types supported by BSON. As a result, data exported or imported with these tools may lose some measure of fidelity.
LucasB

うん。これは中国語/日本語の文字を台無しにします。
user2619824

10

コマンドラインから次のコマンドを実行すると、Mongo binディレクトリに移動します。

mongorestore -d db_name -c collection_name path/file.bson


9

このmongorestoreコマンドは、Mongo Shellではなくcmdを介して実行する必要があります...以下のコマンドを確認してください...

このコマンドを(Mongoシェルではなく)cmdで実行します。

>path\to\mongorestore.exe -d dbname -c collection_name path\to\same\collection.bson

ここでpath\to\mongorestore.exeのパスでmongorestore.exeのMongoDBの内部binフォルダが。dbnameはデータベースの名前です。collection_namecollection.bsonの名前です。path\to\same\collection.bsonそのコレクションまでのパスです。

mongoシェルから、データベースが作成されたかどうかを確認できます(データベースが存在しない場合は、コレクションと同じ名前のデータベースが作成されます)。



2

リモートでアクセスできる場合は、それを行うことができます

bsonの場合:

mongorestore --host m2.mongodb.net --port 27016 --ssl --username $user --password $password --authenticationDatabase $authdb -d test -c people "/home/${USER}/people.bson"

.gz(gzip)形式で圧縮されたbsonの場合:

mongorestore --host m2.mongodb.net --port 27016 --ssl --username $user --password $password --authenticationDatabase $authdb -d test -c people --gzip --dir "/home/${USER}/people.bson.gz"

1

mongorestore -d db_name / path /

このクエリは、mongoDbのbinフォルダーで実行してください。

C:\ Program Files \ MongoDB \ Server \ 4.2 \ bin-

次に、上記のコマンドを実行します。


0

私はこれを使用しました:

mongorestore -d databasename -c file.bson fullpath/file.bson

1.プロパティからファイルパスとファイル名をコピーします(すべてのbsonファイルを別のフォルダに入れてみてください)、2。ファイル名のみを変更してこれを何度も繰り返します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.