MongoDBデータベースツールには、mongoexport
というユーティリティが含まれています これにより、MongoDBデータをCSVまたはJSONファイルにエクスポートできます。
この記事では、mongoexport
の使用方法を説明します MongoDBコレクションをJSONファイルにエクスポートします。
構文
mongoexport
の構文 このようになります:
mongoexport --collection=<coll> <options> <connection-string>
mongoexport
を実行する必要があります システムのコマンドラインからのコマンド(新しいターミナルやコマンドプロンプトウィンドウなど)。
mongoexport
を実行しないでください mongo
からのコマンド シェル。
コレクションのエクスポート
次のサンプルコードは、コレクションをMongoDBからJSONファイルにエクスポートします。
mongoexport --db=PetHotel --collection=pets --out=data/pets.json
これにより、pets
というコレクションがエクスポートされます。 PetHotel
から pets.json
というファイルへのデータベース data/
内 フォルダ。
フォルダが存在しない場合は作成されます。ファイルと同じです。ちなみに、これは指定された場所へのファイルの書き込みに権限の問題がないことを前提としています。
この例では、ホスト、ポート、認証などを指定しなかったため、デフォルトのローカルホストポート番号27017
で実行されているMongoDBインスタンスからコレクションをエクスポートします。 。
上記の例は、次のように書くこともできます:
mongoexport --db=PetHotel --collection=pets --type=json --fields=_id,name,type,weight --out=data/pets.json
この場合、--type
を追加しました パラメータと--fields
JSONファイルに含めるフィールドを指定するパラメーター。
以下は、ここで提供したパラメーターの説明です。
パラメータ | 説明 |
---|---|
--db また -d | エクスポートするコレクションを含むデータベースを指定します。この場合、データベースはPetHotel と呼ばれます。 。 または、このパラメーターを -d を使用して渡すこともできます。 (--db の代わりに 。 |
--collection また -c | エクスポートするコレクションを指定します。この場合、コレクションはpets と呼ばれます 。 または、このパラメーターを -c として渡すこともできます。 (--collection の代わりに 。 |
--type | エクスポートされたファイルタイプを指定します。この場合、json を指定します JSONファイルにエクスポートします。 json はデフォルト値であるため、このパラメータを指定しない場合、ファイルはJSONファイルとして出力されます。 |
--fields | エクスポートするフィールドを指定します。コレクション内のすべてのフィールド、または一部のフィールドをエクスポートするオプションがあります。複数のフィールド名はコンマで区切ります。 JSONにエクスポートする場合、フィールド名の指定はオプションです(CSVとは異なります)。 |
--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.json
を開きます。 中身を確認するには:
{"_id":1.0,"name":"Wag","type":"Dog","weight":20.0} {"_id":2.0,"name":"Bark","type":"Dog","weight":10.0} {"_id":3.0,"name":"Meow","type":"Cat","weight":7.0} {"_id":4.0,"name":"Scratch","type":"Cat","weight":8.0} {"_id":5.0,"name":"Bruce","type":"Bat","weight":3.0} {"_id":6.0,"name":"Fetch","type":"Dog","weight":17.0} {"_id":7.0,"name":"Jake","type":"Dog","weight":30.0}
すべてのデータは、期待どおりにエクスポートされたファイルにあります。
少ないフィールド
--fields
を使用できます エクスポートするフィールドを指定するパラメータ。
JSONファイルでこれを行う場合、_id
フィールドは常にエクスポートされます(エクスポートするフィールドのリストに含まれていない場合でも)。
例:
mongoexport --db=PetHotel --collection=pets --fields=name,type --out=data/pets.json
この場合、エクスポートする2つのフィールドを指定します。
エクスポートされたファイルを開くと、これらのフィールドの両方がエクスポートされていることがわかります。 plus _id
フィールド:
{"_id":1.0,"name":"Wag","type":"Dog"} {"_id":2.0,"name":"Bark","type":"Dog"} {"_id":3.0,"name":"Meow","type":"Cat"} {"_id":4.0,"name":"Scratch","type":"Cat"} {"_id":5.0,"name":"Bruce","type":"Bat"} {"_id":6.0,"name":"Fetch","type":"Dog"} {"_id":7.0,"name":"Jake","type":"Dog"}
アクセス制御/認証
ローカルホストを使用していない場合は、--host
を使用できます ホストを指定するパラメーター、および--port
ポートを指定します。 --username
を使用することもできます ユーザー名と--password
を指定するパラメーター パスワードはに。パスワードパラメータを省略すると、入力を求められます。 --authenticationDatabase
もあります ユーザーが作成された認証データベースを指定するためのパラメーター。
例:
mongoexport --host=myhost.example.com --port=37017 --username=homer --authenticationDatabase=admin --db=PetHotel --collection=pets --out=data/pets.json
mongoexport
を確認します
mongoexport
MongoDBデータベースツールパッケージの一部です。 MongoDBデータベースツールは、MongoDBを操作するためのコマンドラインユーティリティのスイートです。
MongoDBデータベースツール/mongoexport
を使用しているかどうかわからない場合 インストールされている場合は、ターミナルまたはコマンドプロンプトで次のコマンドを実行して確認してください。
mongoexport --version
持っている場合は、バージョン情報などが表示されます。持っていない場合は、MongoDB Webサイトにあるインストール手順を使用して、システムにインストールできます。
コマンドを実行する場所
mongoexport
を実行する必要があることを忘れないでください システムのコマンドラインからのコマンド(新しいターミナルやコマンドプロンプトウィンドウなど)。
mongo
から実行しないでください シェル。