MongoDB でコレクションを CSV 形式にエクスポートする
- Studio 3T エクスポート ウィザードを使用して、コレクションを MongoDB の CSV 形式にエクスポートする
- MongoExport を使用してコレクションを MongoDB の CSV 形式にエクスポートする
この記事では、MongoDB でコレクションを CSV 形式にエクスポートする方法について詳しく説明します。 コレクションを CSV 形式にエクスポートするには、Studio 3T と MongoExport の 2つの方法があります。
Studio 3T エクスポート ウィザードを使用して、コレクションを MongoDB の CSV 形式にエクスポートする
Studio 3T のエクスポート ウィザードを使用して、MongoDB コレクション、ビュー、クエリ、クエリ結果、または単一のドキュメントを CSV、JSON、BSON/mongodump、SQL、または別のコレクションにエクスポートできます。 この記事では、CSV 形式へのエクスポートについてのみ説明します。
エクスポート ウィザードを開く
MongoDB データベースに接続したら、グローバル ツールバーの [エクスポート] をクリックしてエクスポート ウィザードを開始します。
接続ツリー (コレクション、バケット、ビュー) で任意のサーバー、データベース、またはコレクションを右クリックして、[エクスポート] を選択することもできます。
または、結果タブ (コレクション タブ、SQL クエリ、IntelliShell) または入力パネルまたは出力パネルの集計エディターの任意の場所を右クリックし、[エクスポート] を選択します。
ソースのエクスポート
Studio 3T からいつでも次のファイルをエクスポートできます。
- コレクション全体
- 全景
find()
または集計クエリの現在のクエリ結果- 現在のカーソル
- 特定の文書
すべてのエクスポートで、ツールバーから 6つのアクションのいずれかを選択できます。
- エクスポートをタスクとして保存します。 オンデマンドで実行することも、後で実行するようにスケジュールすることもできます。
- すぐにタスクを実行します。
- エクスポート ユニットを追加、編集、または削除できます。
エクスポート元を変更する
エクスポートを設定するときに、エクスポート ソース (接続、データベース、コレクションなど) を変更できます。 [ユニットのエクスポート] タブの [ソースのエクスポート] で、次のことができます。
- をクリックして、データベースまたは接続のリストからソースを変更します。
- ソースを接続ツリーからタブに直接ドラッグします。
find()
クエリの結果をエクスポートする場合は、[ユニットのエクスポート] タブの [クエリ] バーで直接変更できます。 入力すると、クエリ バーが JSON を検証します。
エクスポート ファイルのパスを変更する
[エクスポートの概要] ページで、既定のターゲット フォルダーを設定することもできます。 Studio 3T は、このルートへの変更をすべて記憶します。
MongoDB コレクションを CSV 形式にエクスポートする
エクスポート ウィザードでエクスポート ソースを選択します。
この画面は、接続ツリーでアイテムを選択していない場合、前のクエリを実行していない場合、または特定のドキュメントを選択していない場合に表示されます。
次に、エクスポート形式として CSV を選択し、[次へ] をクリックします。
Studio 3T は 100 個のドキュメントの部分スキャンを実行して、コレクション内のフィールドを自動的に見つけます。 [フル スキャン] をクリックしてすべてのフィールドを特定するか (時間がかかる場合があります)、[カスタム フィールドの追加] をクリックして不足しているフィールドを手動で追加することができます。
[完了] ボタンをクリックして終了します。 これにより、Export Overview タブが起動し、デフォルトで Export Unit #1 – CSV タブになります。
[エクスポート ユニット - CSV] タブには 6つのセクションがあります。
-
ソースのエクスポート – ソース接続、データベース、およびコレクションが表示されます。 青い点線のボックス内をクリックするか、接続ツリーからソースをタブに直接ドラッグして、これを編集できます。
-
フィールドの選択 – カスタム フィールドを追加または削除し、エクスポートに含めるフィールドをオンまたはオフにします。
-
ターゲットを選択 – クリップボードまたはファイルを選択し、必要に応じてファイル パスを定義します。
-
CSV 形式 – プリセット、区切り、レコード区切りなどの設定を構成します。
-
その他のオプション – NULL 値や列ヘッダーの処理方法など、書式設定以外の設定を構成します。
-
出力プレビュー – CSV ファイルのプレビューを拡大するには、矢印ボタンをクリックします。
グローバル エクスポート オプションを構成するには、[エクスポートの概要] タブに移動します。
ツールバーでカスタマイズした後、[実行] をクリックしてエクスポートをすぐに開始できます。
追加のエクスポート ユニットを追加すると、一度に多数の CSV エクスポートを実行できます。 CSV エクスポートをタスクとして保存し、後で実行するようにスケジュールして時間を節約できます。
左下隅の [操作] ウィンドウをチェックして、エクスポートの進行状況を確認します。
このページからエクスポート ファイルを直接表示することもできます。 ファイル エクスプローラー (Windows、Linux) で [開く] ボタンを選択するか、同じウィンドウ (macOS) でエクスポートを右クリックして [Finder で表示] を選択します。
MongoExport を使用してコレクションを MongoDB の CSV 形式にエクスポートする
MongoExport を使用して、MongoDB コレクション、ビュー、クエリなどを CSV 形式にエクスポートすることもできます。
--fields
オプションを使用してデータを CSV 形式にエクスポートする
MongoExport は、students
データベースの data
コレクションから次のセクションのファイル /opt/backups/data.csv
にデータを CSV 形式でエクスポートします。
MongoExport が接続する mongod
インスタンスは、localhost のポート 27017 でリッスンしています。
CSV 形式でエクスポートする場合、エクスポートするドキュメントのフィールドを決定する必要があります。 たとえば、エクスポートする name
フィールドと address
フィールドは操作で指定されます。
mongoexport --db=students --collection=data --type=csv --fields=name,address --out=/opt/backups/data.csv
出力:
name, address
Jack Reacher, 456 Example Road
Peter Parker, 123 Sample Street
ファイルを使用してフィールドを指定し、CSV 形式にエクスポートする
CSV エクスポート用にのみエクスポートするフィールドの行区切りリストを含むファイルにフィールドを指定することもできます。 ファイルでは、1 行につき 1つのフィールドのみが許可されます。
たとえば、fields.txt
というファイルでは、フィールド name
と address
を指定できます。
name
address
次に、--fieldFile
オプションを使用して、ファイルとともにエクスポートするフィールドを決定します。
mongoexport --db=students --collection=data --type=csv --fieldFile=fields.txt --out=/opt/backups/data.csv
CSV 出力からフィールド名を除外
--noHeaderLine
オプションは、CSV エクスポートでフィールド名を除外できます。 次の例では、students
データベースの data
コレクションの name
フィールドと address
フィールドをエクスポートし、--noHeaderLine
を使用して、フィールド名の最初の行への出力を抑制します。
mongoexport --db=students --collection=data --type=csv --fields=name,address --noHeaderLine --out=/opt/backups/data.csv
出力:
Jack Reacher, 456 Example Road
Peter Parker, 123 Sample Street