MongoDBデータベースツールには、mongoexportというユーティリティが含まれています これにより、MongoDBデータをCSVまたはJSONファイルにエクスポートできます。
この記事では、mongoexportの使用方法を説明します MongoDBコレクションをCSVファイルにエクスポートします。
構文
mongoexportの構文 このようになります:
mongoexport --collection=<coll> <options> <connection-string>
mongoexportを実行する必要があります システムのコマンドラインからのコマンド(新しいターミナルやコマンドプロンプトウィンドウなど)。
mongoexportを実行しないでください mongoからのコマンド シェル。
コレクションのエクスポート
次のサンプルコードは、MongoDBからコレクションをエクスポートします。
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --out=data/pets.csv
これにより、petsというコレクションがエクスポートされます。 PetHotelから pets.csvというファイルへのデータベース data/内 フォルダ。
フォルダが存在しない場合は作成されます。ファイルと同じです。ちなみに、これは指定された場所へのファイルの書き込みに権限の問題がないことを前提としています。
この例では、ホスト、ポート、認証などを指定しなかったため、デフォルトのローカルホストポート番号27017で実行されているMongoDBインスタンスからコレクションをエクスポートします。 。
以下は、ここで提供したパラメーターの説明です。
| パラメータ | 説明 |
|---|---|
--db また -d | エクスポートするコレクションを含むデータベースを指定します。この場合、データベースはPetHotelと呼ばれます。 。 または、このパラメーターを -dを使用して渡すこともできます。 (--dbの代わりに 。 |
--collection また -c | エクスポートするコレクションを指定します。この場合、コレクションはpetsと呼ばれます 。 または、このパラメーターを -cとして渡すこともできます。 (--collectionの代わりに 。 |
--type | エクスポートされたファイルタイプを指定します。この場合、csvを指定します CSVファイルにエクスポートします。 |
--fields | エクスポートするフィールドを指定します。コレクション内のすべてのフィールド、または一部のフィールドをエクスポートするオプションがあります。ここにそれぞれをコンマで区切ってリストする必要があります。 CSVにエクスポートする場合、フィールド名を指定する必要があります。 --fieldsを介してこれを行うことができます パラメータまたは--fieldFile パラメータ(これについては後で詳しく説明します)。 |
--out | エクスポートされたファイル名とその場所を指定します。ファイル名を指定しない場合は、mongoexport データを標準出力(stdout)に書き込みます 。 |
エクスポートされたファイルを確認する
エクスポート操作が期待どおりに機能したことを確認しましょう。
まず、元のコレクションを確認しましょう。
use PetHotel
db.pets.find() 結果:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
{ "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 }
{ "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 } したがって、7つのペットがあり、すべてエクスポート操作で指定したのと同じフィールドを持っていることがわかります。
次に、エクスポートしたファイルpets.csvを開きます。 中身を確認するには:
_id,name,type,weight 1,Wag,Dog,20 2,Bark,Dog,10 3,Meow,Cat,7 4,Scratch,Cat,8 5,Bruce,Bat,3 6,Fetch,Dog,17 7,Jake,Dog,30
OK、すべてのデータは期待どおりにエクスポートされたファイルにあります。
列ヘッダーの削除
前の例でエクスポートされたファイルに列ヘッダーが含まれていることがわかります。
なしでファイルをエクスポートするオプションもあります 列ヘッダー。これを行うには、--noHeaderLineを使用します パラメータ。
例:
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --noHeaderLine --out=data/pets.csv エクスポートしたファイルを開くと、列ヘッダーがありません:
1,Wag,Dog,20 2,Bark,Dog,10 3,Meow,Cat,7 4,Scratch,Cat,8 5,Bruce,Bat,3 6,Fetch,Dog,17 7,Jake,Dog,30
フィールド名にファイルを使用する
--fieldを置き換えることができます --fieldFileのパラメータ エクスポートするフィールド名を含むファイルの名前を指定するパラメーター。
mongoexport --db=PetHotel --collection=pets --type=csv --fieldFile=data/pets_fields.txt --out=data/pets.csv フィールドを含むファイルには、1行に1つずつフィールドがリストされている必要があります。
pets_fields.txtは次のとおりです この例のファイルは次のようになりました:
_id name type weight
これにより、エクスポートされたファイルの内容は次のようになりました。
_id,name,type,weight 1,Wag,Dog,20 2,Bark,Dog,10 3,Meow,Cat,7 4,Scratch,Cat,8 5,Bruce,Bat,3 6,Fetch,Dog,17 7,Jake,Dog,30
列の順序の変更
エクスポートするフィールドの順序を切り替えることができます。基になるドキュメントと同じ順序である必要はありません。
たとえば、次のコード:
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,weight,type,name --out=data/pets.csv 結果は次のCSVファイルになります:
_id,weight,type,name 1,20,Dog,Wag 2,10,Dog,Bark 3,7,Cat,Meow 4,8,Cat,Scratch 5,3,Bat,Bruce 6,17,Dog,Fetch 7,30,Dog,Jake
そして以下:
mongoexport --db=PetHotel --collection=pets --type=csv --fields=type,name,weight,_id --out=data/pets.csv 結果:
type,name,weight,_id Dog,Wag,20,1 Dog,Bark,10,2 Cat,Meow,7,3 Cat,Scratch,8,4 Bat,Bruce,3,5 Dog,Fetch,17,6 Dog,Jake,30,7
アクセス制御/認証
ローカルホストを使用していない場合は、--hostを使用できます ホストを指定するパラメーター、および--port ポートを指定します。 --usernameを使用することもできます ユーザー名と--passwordを指定するパラメーター パスワードはに。パスワードパラメータを省略すると、入力を求められます。 --authenticationDatabaseもあります ユーザーが作成された認証データベースを指定するためのパラメーター。
例:
mongoexport --host=myhost.example.com --port=37017 --username=homer --authenticationDatabase=admin --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --out=data/pets.csv mongoexportを確認します
mongoexport MongoDBデータベースツールパッケージの一部です。 MongoDBデータベースツールは、MongoDBを操作するためのコマンドラインユーティリティのスイートです。
MongoDBデータベースツール/mongoexportを使用しているかどうかわからない場合 インストールされている場合は、ターミナルまたはコマンドプロンプトで次のコマンドを実行して確認してください。
mongoexport --version 持っている場合は、バージョン情報などが表示されます。持っていない場合は、MongoDB Webサイトにあるインストール手順を使用して、システムにインストールできます。
コマンドを実行する場所
mongoexportを実行する必要があることを忘れないでください システムのコマンドラインからのコマンド(新しいターミナルやコマンドプロンプトウィンドウなど)。
mongoから実行しないでください シェル。