MongoDBでは、 mongoexport を使用してデータをエクスポートできます。 ユーティリティ。
mongoexport を使用できます MongoDBデータベースからJSONまたはCSVファイルにデータをエクスポートするユーティリティ。
ユーティリティはMongoDB bin にあります ディレクトリ(例: / mongodb / bin )。ユーティリティを実行するときは、データベースの名前、コレクション、およびエクスポート先のファイルを指定します。
データをエクスポートするには、最初に新しいターミナル/コマンドプロンプトウィンドウを開き、次に該当するコマンドを入力します。
コレクションをJSONファイルにエクスポートする
ここでは、 mongoexport を使用します アーティスト をエクスポートするには JSONファイルへのコレクション:
mongoexport --db music --collection artists --out /data/dump/music/artists.json
結果のメッセージ:
2016-07-12T09:57:37.613+0700 connected to: localhost 2016-07-12T09:57:37.614+0700 exported 13 records
結果のファイル:
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"} {"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":"Jorn Lande"} {"_id":1.0,"artistname":"AC/DC"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014d"},"artistname":"The Kooks"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014e"},"artistname":"Bastille"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014f"},"artistname":"Gang of Four"} {"_id":{"$oid":"5781f85d48ef8c6b3ffb0150"},"artistname":"Deep Purple","albums":[{"album":"Machine Head","year":1972.0,"genre":"Rock"},{"album":"Stormbringer","year":1974.0,"genre":"Rock"}]} {"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]} {"_id":{"$oid":"578217c248ef8c6b3ffb015a"},"artistname":"Robben Ford","albums":[{"album":"Bringing it Back Home","year":2013.0,"genre":"Blues"},{"album":"Talk to Your Daughter","year":1988.0,"genre":"Blues"}]} {"_id":{"$oid":"578217c248ef8c6b3ffb015b"},"artistname":"Snoop Dogg","albums":[{"album":"Tha Doggfather","year":1996.0,"genre":"Rap"},{"album":"Reincarnated","year":2013.0,"genre":"Reggae"}]} {"_id":2.0,"artistname":"Prince","address":{"street":"Audubon Road","city":"Chanhassen","state":"Minnesota","country":"United States"}} {"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]} {"_id":4.0,"artistname":"Rush"}
mongoexport を実行できない場合 、 mongo を終了したことを確認してください ユーティリティ、または mongoexport を実行する前に新しいターミナル/コマンドプロンプトウィンドウを開きました 、別のユーティリティであるため。
上記のコマンドは、MongoDBbinディレクトリがPATHにあることを前提としています。そうでない場合は、
mongoexport
へのフルパスを使用する必要があります ファイル。例: / mongodb / bin / mongoexport
または、MongoDBデプロイメントがインストールされている場所ならどこでも。
エクスポートされたファイルのファイルパスを指定しない場合、コマンドを実行したときにどこにいてもファイルパスが作成されます。コマンドを実行する前に、フルパスを指定するか、データファイルを書き込む場所に移動してください。
コレクションをCSVファイルにエクスポート
CSVファイルにエクスポートするには、-type =csv
を追加します コマンドに。
エクスポートするMongoDBドキュメントのフィールドも指定する必要があります。
ここでは、 mongoexport を使用します アーティスト をエクスポートするには CSVファイルへのコレクション。 _id をエクスポートします および artistname 田畑。また、ファイル名には .csv を付けました。 拡張機能。
mongoexport --db music --collection artists --type=csv --fields _id,artistname --out /data/dump/music/artists.csv
結果のメッセージ:
2016-07-12T10:16:33.111+0700 connected to: localhost 2016-07-12T10:16:33.114+0700 exported 13 records
結果のCSVファイル:
_id,artistname ObjectId(5780fbf948ef8c6b3ffb0149),The Tea Party ObjectId(5781c9ac48ef8c6b3ffb014a),Jorn Lande 1,AC/DC ObjectId(5781d7f248ef8c6b3ffb014d),The Kooks ObjectId(5781d7f248ef8c6b3ffb014e),Bastille ObjectId(5781d7f248ef8c6b3ffb014f),Gang of Four ObjectId(5781f85d48ef8c6b3ffb0150),Deep Purple ObjectId(578214f048ef8c6b3ffb0159),Miles Davis ObjectId(578217c248ef8c6b3ffb015a),Robben Ford ObjectId(578217c248ef8c6b3ffb015b),Snoop Dogg 2,Prince 3,Moby 4,Rush
クエリの結果をエクスポートする
-query
を使用できます エクスポートするクエリを指定するオプション。クエリは一重引用符で囲む必要があります。
ここでは、MilesDavisの詳細をJSONファイルにエクスポートします。
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --out /data/dump/music/miles_davis.json
結果のメッセージ:
2016-07-12T10:32:19.794+0700 connected to: localhost 2016-07-12T10:32:19.795+0700 exported 1 record
結果のJSONファイル:
{"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]}
その他のオプション
mongoexport ユーティリティにはいくつかのオプションがあります。ここにいくつかの潜在的に有用なものがあります。
-limit
オプション
エクスポートするドキュメントの数を制限します。
mongoexport --db music --collection artists --limit 3 --out /data/dump/music/3_artists.json
結果のファイル:
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"} {"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":"Jorn Lande"} {"_id":1.0,"artistname":"AC/DC"}
-sort
オプション
結果の順序を指定します。
ここでは、ファイルを
_id
で並べ替えます。 昇順のフィールド(例: 1
)。降順にするには、 -1
を使用します 。
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --out /data/dump/music/3_artists_sorted.json
結果のファイル:
{"_id":1.0,"artistname":"AC/DC"} {"_id":2.0,"artistname":"Prince","address":{"street":"Audubon Road","city":"Chanhassen","state":"Minnesota","country":"United States"}} {"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]}
-スキップコード> オプション
mongoexport に指示することができます エクスポート操作を開始する前に、いくつかのドキュメントをスキップします。
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --skip 2 --out /data/dump/music/3_artists_sorted_skipped.json
結果のファイル:
{"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]} {"_id":4.0,"artistname":"Rush"} {"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"}
-かなり
オプション
読みやすいJSON形式でドキュメントを出力します。
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --pretty --out /data/dump/music/miles_davis_pretty.json
結果のファイル:
{ "_id": { "$oid": "578214f048ef8c6b3ffb0159" }, "artistname": "Miles Davis", "albums": [ { "album": "Kind of Blue", "year": 1959.0, "genre": "Jazz" }, { "album": "Bitches Brew", "year": 1970.0, "genre": "Jazz" } ] }