データのインポートとエクスポート
MongoDB Compass を使用して、コレクションとの間でデータをインポートおよびエクスポートできます。Compass は、JSON ファイルと CSV ファイルの両方のインポートとエクスポートをサポートしています。コレクションとの間でデータをインポートまたはエクスポートするには、[データベース] タブからコレクションを選択するか、左側のナビゲーションでコレクションをクリックして、コレクションの詳細ビューに移動します。
注意
Compass はデータをバックアップするためのツールではありません。 バックアップ ソリューションの詳細については、「自己管理型配置のバックアップ メソッド 」を参照してください。
コレクションへのデータのインポート
MongoDB Compass では、JSON ファイルまたは CSV ファイル形式でコレクションをインポートできます。
制限
MongoDB Compass Readonly Edition ではコレクションにデータをインポートできません。
Data Lake に接続している場合は、データをインポートできません。
データ形式の設定
MongoDB Compass にデータをインポートする前に、データ形式が正しく設定されていることを確認する必要があります。
JSON ファイルからデータをインポートする場合、データを次の形式に設定できます。
改行区切りのドキュメント、または
配列内のカンマ区切りのドキュメント
例
次の改行区切りの .json
ファイルは正しい形式に設定されています。
{ "type": "home", "number": "212-555-1234" } { "type": "cell", "number": "646-555-4567" } { "type": "office", "number": "202-555-0182"}
次のカンマ区切りの .json
配列ファイルも正しい形式に設定されています。
[{ "type": "home", "number": "212-555-1234" }, { "type": "cell", "number": "646-555-4567" }, { "type": "office", "number": "202-555-0182"}]
Compass は JSON 配列の改行を無視します。
初期の JSON では ObjectID は指定されていないため、Compass はインポート時にこれらのオブジェクトの ObjectID を自動生成します。
CSV ファイルからデータをインポートする場合、ファイルの最初の行は必ずドキュメント フィールド名をカンマで区切ったリストでなければなりません。その後の行は、最初の行のフィールド順序と呼応する順序のカンマで区切られたフィールド値である必要があります。
例
次の .csv
ファイルは 3 つのドキュメントをインポートします。
name,age,fav_color,pet Jeff,25,green,Bongo Alice,20,purple,Hazel Tim,32,red,Lassie
初期の CSV ファイルでは ObjectID は指定されていないため、MongoDB Compass はインポート時にこれらのオブジェクトの ObjectID を自動生成します。
手順
形式が設定されたデータをコレクションにインポートするには、次の手順に従います。
データをインポートするコレクションを含む配置に接続します。
配置に接続する方法については、「MongoDB への接続」を参照してください。
ターゲットコレクションに移動します。
[コレクション] タブからコレクションを選択するか、左側ペインでコレクションをクリックします。
インポートオプションを構成します。
[Options] で、ユースケースのインポート オプションを構成します。
CSV ファイルをインポートする場合は、データの区切り方法を選択できます。
JSON ファイルと CSV ファイルのインポートでは、いずれの場合も Ignore empty strings と Stop on errors を切り替えることができます。
[Ignore empty strings] をオンにすると、インポートされたドキュメントから空の文字列値を持つフィールドが削除され、ドキュメントは他のすべてのフィールドとともにインポートされます。
[Stop on errors] をオンにすると、エラーが発生した場合にデータはインポートされません。オフにすると、エラーが発生しない限りデータが挿入され、成功した挿入操作はロールバックされません。いずれの場合も、エラーが発生するとインポート操作は停止します。
進行状況バーに、インポート状態が表示されます。インポート中にエラーが発生すると、このバーが赤色に変わり、ダイアログにエラー メッセージが表示されます。すべてのエラーを表示するには、[View Log] をクリックします。
インポートに成功すると、ダイアログが閉じ、新しくインポートされたドキュメントを含むコレクションページが Compass に表示されます。
コレクションからのデータのエクスポート
MongoDB Compass は JSON ファイルまたは CSV ファイル形式でコレクションのデータをエクスポートできます。コレクションにフィルターまたは集計パイプラインを指定すると、Compass がエクスポートするのは、指定したクエリまたはパイプラインの結果に一致するドキュメントに限定されます。
動作
CSV ファイルへのエクスポートは可能な限り避けましょう。CSV ファイルではタイプ情報が失われる場合があり、データのバックアップに適していないためです。
クエリフィルターを使用すると、フィルターに一致するドキュメントのみをエクスポートできます。
クエリバーのプロジェクトフィールドを使用して、返すフィールドまたはエクスポートするフィールドを指定できます。
手順
コレクション全体をファイルにエクスポートするには:
データをエクスポートするコレクションを含む配置に接続します。
配置に接続する方法については、「MongoDB への接続」を参照してください。
目的のコレクションに移動します。
[コレクション] タブからコレクションを選択するか、左側ペインでコレクションをクリックします。
ファイルの種類を選択します。
[JSON] または [CSV] のいずれかを選択できます。JSON を選択すると、[Advanced JSON Format] ドロップダウンを展開し、次の拡張 JSON 形式から選択できます。
JSON Format | 説明 |
---|---|
デフォルトの拡張 JSON | BSON 型情報が喪失しないようにする文字列形式で、Compass のデフォルト設定です。 |
緩和型拡張 JSON | 型の保存を犠牲にして、読みやすさと相互運用性を重視した文字列形式。つまり、緩和された形式から BSON への変換では、型情報が失われる可能性があります。 警告: この形式は、データの整合性のためには推奨されません。 |
標準型拡張 JSON | 文字列と相互運用性を犠牲にして、型の保存を重視した文字列形式。つまり、標準から BSON への変換では、特定のケースを除いて、通常は型情報が保持されます。 |
進行状況バーにエクスポート状態が表示されます。エクスポート中にエラーが発生すると、このバーが赤色に変わり、ダイアログにエラー メッセージが表示されます。正常にエクスポートされると、ダイアログが閉じます。
コレクションからドキュメントのサブセットをエクスポートするには次の手順に従ってください。
データをエクスポートするコレクションを含む配置に接続します。
配置に接続する方法については、「MongoDB への接続」を参照してください。
目的のコレクションに移動します。
[コレクション] タブからコレクションを選択するか、左側ペインでコレクションをクリックします。
エクスポートされるファイルに含めるドキュメント フィールドを選択します。
ユーザーは All Fields または Select fields in table をエクスポートできます。Project フィールドを使用して、返すフィールドまたはエクスポートするフィールドをクエリ バーで指定することもできます。
エクスポートされた ファイルには、[] フィールドのみが含まれます。
追加するフィールドが自動的に検出されない場合は、 Add Fieldボタンを使用して、必要なドキュメント フィールドを追加できます。
注意
Compass はコレクションをサンプリングして、フィールドのリストを事前に入力します。ドキュメントのごく一部にしか表示されないフィールドは、自動的に検出されない場合があります。
サンプリングの詳細についてはサンプリングを参照してください。
適切なファイルのタイプを選択します。
[Export File Type] で、[JSON] または [CSV] のいずれかを選択します。JSON を選択した場合、[Advanced JSON Format] ドロップダウンを展開すると、次の拡張 JSON 形式から選択できます。
JSON Format | 説明 |
---|---|
デフォルトの拡張 JSON | BSON 型情報が喪失しないようにする文字列形式で、Compass のデフォルト設定です。 |
緩和型拡張 JSON | 型の保存を犠牲にして、読みやすさと相互運用性を重視した文字列形式。つまり、緩和された形式から BSON への変換では、型情報が失われる可能性があります。 警告: この形式は、データの整合性のためには推奨されません。 |
標準型拡張 JSON | 文字列と相互運用性を犠牲にして、型の保存を重視した文字列形式。つまり、標準から BSON への変換では、特定のケースを除いて、通常は型情報が保持されます。 |
進行状況バーにエクスポート状態が表示されます。エクスポート中にエラーが発生すると、このバーが赤色に変わり、ダイアログにエラー メッセージが表示されます。正常にエクスポートされると、ダイアログが閉じます。
集計パイプラインから結果をエクスポートするには、次の手順に従います。
データをエクスポートするコレクションを含む配置に接続します。
配置に接続する方法については、「MongoDB への接続」を参照してください。
集計パイプラインを作成し、結果を得るために実行します。
集計パイプラインの作成方法については、「集計パイプラインの作成」を参照してください。
適切なファイルのタイプを選択します。
[Export File Type] で、[JSON] または [CSV] のいずれかを選択します。JSON を選択した場合、[Advanced JSON Format] ドロップダウンを展開すると、次の拡張 JSON 形式から選択できます。
JSON Format | 説明 | サンプルドキュメント | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
デフォルトの拡張 JSON | BSON 型情報が喪失しないようにする文字列形式で、Compass のデフォルト設定です。 |
| |||||||||||
緩和型拡張 JSON | 型の保存を犠牲にして、読みやすさと相互運用性を重視した文字列形式。つまり、緩和された形式から BSON への変換では、型情報が失われる可能性があります。 警告: この形式は、データの整合性のためには推奨されません。 |
| |||||||||||
標準型拡張 JSON | 文字列と相互運用性を犠牲にして、型の保存を重視した文字列形式。つまり、標準から BSON への変換では、特定のケースを除いて、通常は型情報が保持されます。 |
|
コマンドラインからのデータのインポートとエクスポート
コマンドラインからデータをインポートおよびエクスポートするには、MongoDB のデータベース ツールを使用できます。詳細については、mongoimport と mongoexport を参照してください。