sql >> データベース >  >> NoSQL >> MongoDB

MongoDBコレクションをJSONファイルにエクスポートする

    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から実行しないでください シェル。


    1. MongoDBサンプルオペレーター

    2. MongoDB-$ sizeの引数は配列である必要がありますが、タイプはEOO/missingでした

    3. mongodbで重複するドキュメントを削除する最速の方法

    4. MySQLレプリケーション(およびその他)のフェイルオーバー-自動化する必要がありますか?