web-dev-qa-db-ja.com

Mongo CollectionをJSON形式にダンプします

Mongoコレクションをjson形式にダンプする方法はありますか?シェル上またはJavaドライバーを使用します。最高のパフォーマンスを備えたドライバーを探しています。

103

Mongoには、コレクションをダンプできるmongoexportユーティリティ (ドキュメントを参照) が含まれています。このユーティリティはネイティブのlibmongoclientを使用し、おそらく最速の方法です。

mongoexport -d <database> -c <collection_name>

また役立つ:

-o:出力をファイルに書き込みます。それ以外の場合は標準出力が使用されます( docs

--jsonArray:1行に1つのjsonオブジェクトではなく、有効なjsonドキュメントを生成します( docs

--pretty:フォーマットされたJSONを出力します( docs

152
vrtx

Mongoexport/mongoimportを使用して、コレクションをダンプ/復元します。

JSONファイルのエクスポート

mongoexport --db <database-name> --collection <collection-name> --out output.json

JSONファイルのインポート

mongoimport --db <database-name> --collection <collection-name> --file input.json

警告mongoimportおよびmongoexportは、BSONがサポートする型のサブセットのみをJSONで表すことができるため、すべてのリッチBSONデータ型を確実に保持するわけではありません。その結果、これらのツールでエクスポートまたはインポートされたデータは、ある程度の忠実度を失う可能性があります。

また、 http://bsonspec.org/

BSONは、エンコードおよびデコードが高速になるように設計されています。たとえば、整数は32(または64)ビット整数として格納されるため、テキストとの間で解析する必要はありません。これは、小さな整数に対してJSONよりも多くのスペースを使用しますが、解析ははるかに高速です。

コンパクト性に加えて、BSONはJSONで使用できないデータ型、特にBinDataおよびDateデータ型を追加します。

103

参照用のmineコマンドを次に示します。

mongoexport --db AppDB --collection files --pretty --out output.json

Windows 7(MongoDB 3.4)では、mongod.exeおよびmongo.exeファイルが存在する場所にcmdを移動する必要があります=> C:\MongoDB\Server\3.4\binそれ以外の場合、mongoexportを認識しないとは機能しませんコマンド。

5
nightfury

Mongoドキュメントから:

Mongoexportユーティリティはコレクションを取得し、JSONまたはCSVにエクスポートします。クエリのフィルター、または出力するフィールドのリストを指定できます

詳細はこちら: http://www.mongodb.org/display/DOCS/mongoexport

3
Ninja

すべてのコレクションをダンプする場合は、次のコマンドを実行します。

mongodump -d {DB_NAME}   -o /tmp 

jsonおよびbson拡張のすべてのコレクションデータを/tmp/{DB_NAME}ディレクトリに生成します

0
Moe Far