AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

mongoexport

このドキュメントは、mongoexport のバージョン 100.18.0 用です。

mongoexport は、MongoDB インスタンスに保存されたデータの JSON または CSV エクスポートを生成するデータベース ツールです。

mongoexportシェルではなく、 システムコマンドラインからmongo を実行します。

mongoexport は、配置をバックアップするためのツールではありません。バックアップソリューションを作成する場合は、 「 MongoDBツールを使用したバックアップと復元 」を参照してください。

Tip

mongoimport 、これは対応する構造化データのインポート機能を提供します。

注意

ストレージコストを節約するために古いデータをアーカイブする場合、 MongoDB Atlasでの Online アーカイブ の使用がおすすめです。 Atlas Online アーカイブ は、アクセス頻度の低いデータを完全自己管理型の S3 バケットに自動的にアーカイブするコスト効果の高いデータ階層化ツールです。

MongoDB データベースツールを使用して、セルフホスト型配置から MongoDB Atlas へ移行できます。MongoDB Atlas は、MongoDB をクラウドに配置するためのフルマネージド サービスです。詳細については、mongorestore でのシード処理を参照してください。

MongoDB Atlas へ移行するすべての方法については、「データの移行またはインポート」を参照してください。

mongoexport 構文:

mongoexport --collection=<coll> <options> <connection-string>

エクスポートする collectionを指定する必要があります。 を指定しない場合、 は標準出力(stdout)に書き込まれます。output filemongoexport

ポート 27017 で実行されているローカル MongoDB インスタンスに接続するには、ホストまたはポートを指定する必要はありません。

例、ポートcollection で実行中MongoDBoutput file のローカルインスタンスから、指定された に指定された27017 をエクスポートするには、次の手順に従います。

mongoexport --collection=events --db=reporting --out=events.json

MongoDB インスタンスのホストおよび/またはポートを指定するには、次のいずれかの方法を使用します。

  • でホスト名とポートを次のように指定します。--uri connection string

    mongoexport --uri="mongodb://mongodb0.example.com:27017/reporting" --collection=events --out=events.json [additional options]

    --uri connection stringを使用する場合、string の一部としてデータベースを指定できます。

  • でホスト名とポートを次のように指定します。--host

    mongoexport --host="mongodb0.example.com:27017" --collection=events --db=reporting --out=events.json [additional options]
  • --host--port にホスト名とポートを指定します。

    mongoexport --host="mongodb0.example.com" --port=27017 --collection=events --db=reporting --out=events.json [additional options]

利用可能なオプションの詳細については、「オプション」を参照してください。

注意

mongoexport は、データをバックアップするためのツールではありません。レプリカセットをバックアップするには、 「 MongoDBツールを使用したバックアップと復元 」を参照してください。

レプリカセットに接続してデータをエクスポートするには、次のいずれかの方法を実行します。

  • でレプリカセットの名前とノードを指定します。--uri connection string

    mongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName" --collection=events --out=events.json [additional options]

    --uri connection stringを使用する場合、string の一部としてデータベースを指定できます。

  • でレプリカセットの名前とノードを指定します。--host

    mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" --collection=events --db=reporting --out=events.json [additional options]

mongoexport のデフォルト設定では、レプリカセットのプライマリからデータが読み取られます。このデフォルト設定を上書きするには、読み込み設定(read preference)を次のように変更します。

  • 読み込み設定 (read preference) は、ここに指定します。 --uri connection string

    mongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName&readPreference=secondary" --collection=events --out=events.json [additional options]

    読み込み設定(読み込み設定 (read preference) )タグを指定する場合、readPreferenceTags オプションを含めます。

    mongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName&readPreference=secondary&readPreferenceTags=region:east" --collection=events --out=events.json [additional options]

    --uri connection stringを使用する場合、string の一部としてデータベースを指定できます。

  • 読み込み設定 (read preference)は、--readPreference コマンドライン オプションを使用して指定できます。読み込み設定 (read preference)モードのみを指定する場合、コマンドライン オプションでは次の string が使用されます。

    mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference=secondary --collection=events --db=reporting --out=events.json [additional options]

    または、引用符で囲まれたドキュメント '{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}' をコマンドライン 任意で使用して、モード、任意の読み込み設定(read preference)タグ セット、任意の maxStalenessSeconds を指定できます。

    mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]

利用可能なオプションの詳細については、「オプション」を参照してください。

注意

mongoexport は、データをバックアップするためのツールではありません。 To back up your sharded cluster, see Backup and Restore a Self-Managed Sharded Cluster.

シャーディングされたクラスターに接続してデータをエクスポートするには、次のいずれかの方法を実行します。

  • mongos--uri connection string インスタンスのホスト名を指定する

    mongoexport --uri="mongodb://mongos0.example.com:27017/reporting" --collection=events --out=events.json [additional options]

    --uri connection stringを使用する場合、string の一部としてデータベースを指定できます。

  • mongos--host インスタンスのホスト名とポート名を指定する

    mongoexport --host="mongos0.example.com:27017" --collection=events --db=reporting --out=events.json[additional options]

mongoexport のデフォルト設定では、シャード レプリカセットのプライマリからデータが読み取られます。このデフォルト設定を上書きするには、読み込み設定(read preference)を次のように変更します。

  • 読み込み設定 (read preference) は、ここに指定します。 --uri connection string

    mongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary" --collection=events --out=events.json [additional options]

    読み込み設定(読み込み設定 (read preference) )タグを指定する場合、readPreferenceTags オプションを含めます。

    mongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary&readPreferenceTags=region:east" --collection=events --out=events.json [additional options]

    --uri connection stringを使用する場合、string の一部としてデータベースを指定できます。

  • 読み込み設定 (read preference)は、--readPreference コマンドライン オプションを使用して指定できます。読み込み設定 (read preference)モードのみを指定する場合、コマンドライン オプションでは次の string が使用されます。

    mongoexport --host="mongos0.example.com:27017" --readPreference=secondary --collection=events --db=reporting --out=events.json [additional options]

    または、引用符で囲まれたドキュメント '{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}' をコマンドライン 任意で使用して、モード、任意の読み込み設定(read preference)タグ セット、任意の maxStalenessSeconds を指定できます。

    mongoexport --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]
--help

mongoexport のオプションと使用に関する情報を返します。

--verbose, -v

標準出力またはログファイルに返される内部レポートの量が増えます。-v フォームでの冗長性を高めるには、オプションを複数回含めてください(例: -vvvvv)。

--quiet

出力量を制限する quiet モードで mongoexport を実行します。

このオプションにより次の項目が抑制されます。

  • レプリケーション アクティビティ

  • 接続を受け付けたイベントと接続を終了したイベント

  • エラーメッセージを含むすべてのログ(オプションの解析時に発生するログを除く)

--version

mongoexport のリリース番号を返します。

--config=<filename>

バージョン100.3.0の新機能。

次の mongoexport オプションの機密値を含む YAML 構成ファイルへのフル パスを指定します:

これは、mongoexport にパスワードを指定する際に、パスワード プロンプトを使用して指定する以外で推奨される方法です。ファイル内の引数は任意に組み合わせて使用することができます。

構成ファイルは以下の形式をとります。

password: <password>
uri: mongodb://mongodb0.example.com:27017
sslPEMKeyPassword: <password>

uri を指定せずに password オプションを指定する場合は、mongoexport コマンドラインオプションを使用して、--username--host など、接続文字列の他のコンポーネントを指定できます。

このファイルは、必ず適切なファイルシステム権限で保護してください。

重要

--config オプションを使用する際には、次の制限事項と動作にご注意ください。

  • passwordフィールドを指定し、競合するパスワードを含む接続文字列をuriフィールドに指定した場合、mongorestoreはエラーをスローします。

  • --config を使用して構成ファイルを指定し、かつ --password--uri、または --sslPEMKeyPassword mongoexportコマンドラインオプションも使用している場合、コマンドラインオプションは対応する構成ファイルオプションを上書きします。

--uri=<connectionString>

MongoDB 配置の解決可能な URI 接続文字列 を引用符で囲んで指定します。

--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

のバージョン100.0 mongoexport以降では、 オプションを使用せずに、接続文字列を位置指定パラメータとして提供することもできます。--uri

mongoexport mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

接続文字列は、位置指定パラメータとして mongodb:// または mongodb+srv:// で始まっている限り、コマンドラインの任意の点で指定できます。以下に例を挙げます。

mongoexport --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl

入力できる接続文字列は1 つのみです。複数の値を含めようとすると、--uri オプションを使用する場合でも、位置引数として使用する場合でも、エラーになります。

接続文字列のコンポーネントの詳細については、「接続文字列 URI 形式」ドキュメントを参照してください。

注意

connection string 内の一部のコンポーネントは、--username や --password など、独自の明示的コマンドライン オプションを使用して指定することもできます。明示的オプションを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

注意

mongoexportUbuntu で18.04 cannot unmarshal DNSを使用している場合、SRV 接続文字列(mongodb+srv:// 形式)を オプションとともに使用すると、--uri エラー メッセージが表示されることがあります。その場合は、次のいずれかのオプションを代わりに使用します。

警告

一部のシステムでは、--uri オプションで接続文字列に設定されたパスワードが、他のユーザーによって呼び出される可能性のある ps などのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。

  • 接続文字列のパスワードを省略し、インタラクティブなパスワード プロンプトを受け取る

  • --config オプションを使用して、パスワードを含む構成ファイルを指定します。

--host=<hostname><:port>, -h=<hostname><:port>

デフォルト: localhost:27017

MongoDB 配置の解決可能なホスト名を指定します。デフォルトでは、mongoexport によってポート番号 27017 のローカルホストで実行されている MongoDB インスタンスに接続しようとします。

replSetNameレプリカセットに接続するには、次のように とセットノードのシードリストを指定します。

--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...>

レプリカセット リスト形式を指定する場合、mongoexport は常にプライマリに接続します。

また、レプリカセットの任意の 1 つのノードに接続するには、そのノードのみのホストとポートを指定します。

--host=<hostname1><:port>

IPv6 を使用し、<address>:<port> 形式を使用する場合は、アドレスとポートの組み合わせの一部を括弧で囲む必要があります(例: [<address>])。

あるいは、URI connection string でホスト名を直接指定することもできます。--host を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

--port=<port>

デフォルト: 27017

MongoDB インスタンスがクライアント接続のためにリッスンする TCP ポートを指定します。

あるいは、URI connection string でポートを直接指定することもできます。接続文字列を提供すると同時に、--port を使用中に競合する情報を指定すると、エラーが発生します。

--ssl

TLS / SSLmongodmongos サポートが有効になっている または への接続を有効にします。

あるいは、URI connection string で TLS/SSL サポートを直接構成することもできます。--ssl を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--sslCAFile=<filename>

証明書認証機関からのルート証明書チェーンを含む .pem ファイルを指定します。相対パスまたは絶対パスを使用して .pem ファイルのファイル名を指定します。

あるいは、URI connection string.pem ファイルを直接指定することもできます。--sslCAFile を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--sslPEMKeyFile=<filename>

TLS/SSL 証明書とキーの両方を含む .pem ファイルを指定します。相対パスまたは絶対パスを使用して、.pem ファイルのファイル名を指定します。

このオプションは、--ssl オプションを使用して、allowConnectionsWithoutCertificates なしでmongodmongos CAFileが有効になっている または に接続する場合に必要です。

あるいは、URI connection string.pem ファイルを直接指定することもできます。--sslPEMKeyFile を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--sslPEMKeyPassword=<value>

証明書鍵ファイルの複合化用パスワード(--sslPEMKeyFile --sslPEMKeyPassword)を指定します。証明書鍵ファイルが暗号化されている場合にのみ、 オプションを使用します。いずれの場合も、mongoexport はすべてのログとレポート出力からパスワードを削除します。

PEMファイル内の秘密キーが暗号化されており、--sslPEMKeyPassword オプションを指定しない場合は、mongoexport はパスフレーズの入力を要求します。詳細については、「 TLS/SSL 証明書のパスフレーズ 」を参照してください。

あるいは、URI connection string でパスワードを直接指定することもできます。--sslPEMKeyPassword を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

警告

一部のシステムでは、--sslPEMKeyPassword オプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のある ps などのシステム ステータス プログラムに表示される場合があります。代わりに --config オプションを使用して、パスワードを含む構成ファイルを指定することを検討してください。

--sslCRLFile=<filename>

証明書失効リストを含む .pem ファイルを指定します。相対パスまたは絶対パスを使用して .pem ファイルのファイル名を指定します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--sslAllowInvalidCertificates

サーバー証明書の検証チェックをバイパスし、無効な証明書を使用できるようにします。 設定を使用すると、 MongoDBallowInvalidCertificates は無効な証明書の使用を警告としてログを記録します。

警告

--sslAllowInvalidCertificates オプションは使用可能ですが、可能な限り使用しないでください。--sslAllowInvalidCertificates の使用が必要な場合は、侵入が不可能なシステムでのみこのオプションを使用してください。

mongodサーバー証明書を検証せずに または インスタンスに接続すると、潜在的なセキュリティ上のリスクが発生します。 TLS/SSL 証明書のホスト名の検証を無効にするだけの場合は、 を参照してください。mongos--sslAllowInvalidHostnames

あるいは、URI connection string で証明書の検証を直接無効にすることもできます。接続文字列を提供すると同時に、--sslAllowInvalidCertificates を使用中に競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--sslAllowInvalidHostnames

TLS/SSL 証明書のホスト名の検証を無効にします。証明書内のホスト名が指定されたホスト名と一致しない場合でも、mongoexport によって MongoDB インスタンスへの接続が許可されます。

あるいは、URI connection string でホスト名の検証を直接無効にすることもできます。--sslAllowInvalidHostnames を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。

--username=<username>, -u=<username>

認証 を使用するMongoDBデータベースへの認証すに使用するユーザー名を指定します。--password および--authenticationDatabase オプションと組み合わせて使用します。

あるいは、URI connection string でユーザー名を直接指定することもできます。--username を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

を使用してMongoDB MONGODB-AWSauthentication mechanismAtlasクラスターに接続する場合は、次の場所でAWSアクセスキーID を指定できます。

  • このフィールド

  • connection string、または

  • AWS_ACCESS_KEY_ID 環境変数。

それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。

--password=<password>, -p=<password>

認証 を使用するMongoDBデータベースに対して認証するためのパスワードを指定します。--username および--authenticationDatabase オプションと組み合わせて使用します。

ユーザーにパスワードの入力を求めるには、--username --password--passwordなしで オプションを渡すか、--password "" のように 値として空の文字列を指定します。

あるいは、URI connection string でパスワードを直接指定することもできます。--password を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

を使用してMongoDB MONGODB-AWSauthentication mechanismAtlasクラスターに接続する場合は、次の場所でAWSシークレット アクセスキーを指定できます。

  • このフィールド

  • connection string、または

  • AWS_SECRET_ACCESS_KEY 環境変数。

それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。

警告

一部のシステムでは、--password オプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のある ps などのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。

  • --password オプションを省略し、インタラクティブなパスワード プロンプトを表示する

  • --config オプションを使用して、パスワードを含む構成ファイルを指定します。

--awsSessionToken=<AWS Session Token>

を使用してMongoDB Atlasクラスターに接続し、 MONGODB-AWSauthentication mechanismAWSアクセスキーIDとシークレットアクセスキーに加えてセッション トークンを使用する場合は、次の場所にAWSセッション トークンを指定できます。

それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。

MONGODB-AWSauthentication mechanismを使用している場合にのみ有効です。

--authenticationDatabase=<dbname>

指定された--username が作成された認証データベースを指定します。詳細については、「 認証データベース 」を参照してください。

認証データベースを指定しない場合、mongoexport ではエクスポート対象として指定されたデータベースがユーザー認証情報を保持していると想定されます。

GSSAPI (Kerberos)、PLAIN (LDAP SASL)、またはMONGODB-AWSauthentication mechanisms --authenticationDatabaseを使用する場合は、 を$external に設定する必要があります。

あるいは、URI connection string で認証データベースを直接指定することもできます。--authenticationDatabase を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

--authenticationMechanism=<name>

デフォルト: SCRAM-SHA-1

mongoexportインスタンスがmongod またはmongos への認証に使用する認証メカニズムを指定します。

バージョン 100.1.0 での変更

バージョン100.1.0 mongoexport以降、MONGODB-AWS はMongoDB Atlasクラスターに接続するときに 認証メカニズムのサポートを追加します。

説明

RFC5802 標準の Salted Challenge Response Authentication Mechanism(SHA-1 ハッシュ関数を使用)。

RFC7677 標準の Salted Challenge Response Authentication Mechanism(SHA-256 ハッシュ関数を使用)。

featureCompatibilityVersion を 4.0 に設定する必要があります。

MongoDB TLS/SSL 証明書認証。

MONGODB-AWS

MongoDB Atlas クラスターへの接続に使用する AWS IAM 認証情報を使用した外部認証。「AWS IAM 認証情報を使用して MongoDB Atlas クラスターに接続する」を参照してください。

バージョン100.1.0の新機能。

GSSAPI(Kerberos)

Kerberos を使用する外部認証。このメカニズムは MongoDB Enterprise でのみ使用できます。

PLAIN(LDAP SASL)

LDAP を使用する外部認証。データベース内のユーザー認証には、PLAIN を使用することもできます。PLAIN はパスワードをプレーン テキストで送信します。このメカニズムは MongoDB Enterprise でのみ使用できます。

あるいは、URI connection string で認証メカニズムを直接指定することもできます。--authenticationMechanism を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

--gssapiServiceName=<serviceName>

GSSAPI/Kerberos を使用してサービスの名前を指定します。サービスがデフォルト名mongodb を使用しない場合のみ必要となります。

このオプションは MongoDB Enterprise でのみ使用できます。

--gssapiHostName=<hostname>

GSSAPI/Kerberos を使用してサービスのホスト名を指定します。マシンのホスト名が DNS で解決されたホスト名と一致しない場合にのみ必要となります。

このオプションは MongoDB Enterprise でのみ使用できます。

--db=<database>, -d=<database>

mongoexport を実行するデータベースの名前を指定します。

あるいは、URI connection string でデータベースを直接指定することもできます。--db を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

--collection=<collection>, -c=<collection>

エクスポートするコレクションを指定します。

--fields=<field1[,field2]>, -f=<field1[,field2]>

エクスポートに含めるフィールドを指定します。複数のフィールドを指定するには、カンマで区切られたフィールドのリストを使用します。

フィールド名に空白が含まれる場合は、引用符でフィールド リストを囲みます。たとえば、phoneuser number の 2 つのフィールドをエクスポートする場合、--fields "phone,user number" と指定します。

csv出力形式の場合、mongoexport には指定フィールドのみが含まれます。指定フィールドはサブドキュメント内のフィールドである可能性があります。

JSON出力形式の場合、 mongoexportには指定されたフィールドと _idフィールドのみが含まれ、指定されたフィールドがサブドキュメント内のフィールドである場合、mongoexport にはサブドキュメントが含まれますドキュメント内の指定されたフィールドだけでなく、そのフィールドすべてが含まれます。

使用例については、「--fields オプションを使用して CSV 形式でデータをエクスポートする」を参照してください。

--fieldFile=<filename>

--fields--fieldFile--typecsvの代替となります。 オプションでは、エクスポートに 含めるフィールドをファイルで指定できます。このオプションは、値が を持つ オプションでのみ有効です。ファイルの各行に含めるフィールドは 1 つのみとし、各行の末尾には LF 文字(0x0A )を指定する必要があります。

mongoexport には、指定したフィールドのみが含まれます。指定したフィールドは、サブドキュメント内のフィールドでも構いません。

使用例については、「ファイルを使用して、CSV 形式でエクスポートするフィールドを指定する」を参照してください。

--query=<JSON>, -q=<JSON>

エクスポートで一致するドキュメントを返すために、クエリを JSON document(引用符で囲む)として提供します。

shell 環境とやり取りしないように、クエリ ドキュメントを一重引用符('{ ... }')で囲む必要があります。

クエリは、フィールド名と演算子を引用符で囲むなど、 拡張JSON v2 形式( 緩和モード 、標準モード、厳密モードのいずれか)である必要があります。

たとえば、データベース testrecords という名前のコレクションがあり、次のドキュメントが含まれているとします。

{ "_id" : ObjectId("51f0188846a64a1ed98fde7c"), "a" : 1, "date" : ISODate("1960-05-01T00:00:00Z") }
{ "_id" : ObjectId("520e61b0c6646578e3661b59"), "a" : 1, "b" : 2, "date" : ISODate("1970-05-01T00:00:00Z") }
{ "_id" : ObjectId("520e642bb7fa4ea22d6b1871"), "a" : 2, "b" : 3, "c" : 5, "date" : ISODate("2010-05-01T00:00:00Z") }
{ "_id" : ObjectId("520e6431b7fa4ea22d6b1872"), "a" : 3, "b" : 3, "c" : 6, "date" : ISODate("2015-05-02T00:00:00Z") }
{ "_id" : ObjectId("520e6445b7fa4ea22d6b1873"), "a" : 5, "b" : 6, "c" : 8, "date" : ISODate("2018-03-01T00:00:00Z") }
{ "_id" : ObjectId("5cd0de910dbce4346295ae28"), "a" : 15, "b" : 5, "date" : ISODate("2015-03-01T00:00:00Z") }

mongoexport-qa次の$gte3 date$ltISODate("2016-01-01T00:00:00Z")オプションを使用して、フィールド が 以上( ) かつフィールド が ( ) より小さいドキュメントのみをエクスポートします。 }は、日付( )に対して拡張JSON v 形式(緩和モード)を使用して指定されます。2{ "$date": "YYYY-MM-DDTHH:mm:ss.mmm\<offset\>"}

mongoexport -d=test -c=records -q='{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016-01-01T00:00:00.000Z" } } }' --out=exportdir/myRecords.json

結果のファイルには、次のドキュメントが含まれています。

{"_id":{"$oid":"520e6431b7fa4ea22d6b1872"},"a":3.0,"b":3.0,"c":6.0,"date":{"$date":"2015-05-02T00:00:00Z"}}
{"_id":{"$oid":"5cd0de910dbce4346295ae28"},"a":15.0,"b":5.0,"date":{"$date":"2015-03-01T00:00:00Z"}}

オプションで結果を--sort mongoexportに並べ替えることができます。

MongoDB9.0 以降、パスの中間コンポーネントがスカラー値の配列である場合、サーバーはドット付きフィールドパスnull を と異なる方法で照合します。この変更は、$eq $ne、 、$in$nin 演算子に影響します。

例えば、{ "a": [ 1 ] } ドキュメントを持つコレクションを考えます。パス a.b はそのドキュメントには存在しません。

  • MongoDB 8.x 以前では、述語 { "a.b": { "$ne": null } } がドキュメントと一致します。

  • MongoDB 9.0 以降では、同じ述語はドキュメントと一致しなく、代わりに述語 { "a.b": { "$eq": null } } が一致します。

クエリがこのような述語を使用する場合、同じ --query 値では、以前のバージョンとは異なり、MongoDB 9.0 では異なるドキュメントのセットが選択されます。{ "$ne": null } でフィルターする操作では、返されるドキュメントの数が減少します。MongoDB 9.0 配置からデータをダンプまたはエクスポートする前に、ドットパスと null を比較するクエリを検討してください。クエリが予想どおりのドキュメントを選択していることを確認します。

--queryFile=<filename>

--query--queryFile2の代替となります。 オプションを使用すると、ファイル内で 拡張JSON v 形式のクエリを指定できます。

--type=<string>

Default: json

エクスポートするファイルの種類を指定します。csv CSV形式の場合は を指定し、json JSON形式の場合は を指定します。

csv--fieldsを指定する場合は、コレクションからエクスポートするフィールドを宣言するために、--fieldFile または のいずれかのオプションも使用する必要があります。

--out=<file>, -o=<file>

エクスポートの書き込み先ファイルを指定します。ファイル名を指定しない場合、mongoexport では標準出力(例: stdout)にデータが書き込まれます。

--jsonFormat=<canonical|relaxed>

デフォルト: relaxed

MongoDB拡張JSON (v2 )形式の標準モードまたは緩和モードのいずれかを使用するように出力を変更します。

標準モードと緩和モードの違いについては、 「 MongoDB拡張JSON (v2 ) 」を参照してください。

--jsonArray

エクスポート内容全体がmongoexport 1 つのJSON配列として書き込まれるように の出力が変更されます。デフォルトでは、mongoexport はMongoDBドキュメントごとに 1 つのJSON ドキュメントを使用してデータを書込みます。

--pretty

ドキュメントを、pretty-printed 形式の JSON で出力します。

--noHeaderLine

デフォルトでは 、 では CSV 出力の最初の行にエクスポートされるフィールド名が含まれます。mongoexport--noHeaderLine mongoexportは にフィールド名リストなしにデータをエクスポートするよう指示します。--noHeaderLine --typeは、値が を持つcsv オプションの場合にのみ有効です。

使用例については、「CSV 出力からフィールド名を除外する」を参照してください。

--readPreference=<string|document>

デフォルト:primary

の読み込み設定 (read preference)を指定します。 mongoexport--readPreferenceオプションには次の値を指定できます。

  • 読み込み設定 (read preference) モードのみを指定する場合の文字列

    --readPreference=secondary
  • モード、オプションの読み込み設定(read preference)タグセット、任意の maxStalenessSeconds を指定するために、次のとおり引用符で囲まれたドキュメント。

    --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}'

    maxStalenessSeconds を指定する場合、値は90 以上である必要があります。

mongoexport primaryはデフォルトで 読み込み設定 (read preference)に設定されます。

読み込み設定 (read preference)が にも含まれている場合、コマンドライン は URI string で指定された読み込み設定 (read--uri connection string --readPreferencepreference)を上書きします。

--skip=<number>

--skipmongoexportを使用して、 がドキュメントのエクスポートを開始する場所を制御します。基礎となる操作の詳細については、skip() を参照してください。

--limit=<number>

エクスポートに含めるドキュメントの最大数を指定します。基礎となる操作の詳細については、limit() を参照してください。

--sort=<JSON>

エクスポートされる結果の順序を指定します。ソート操作をサポートできるインデックスが存在しない場合、結果は 32 MB より小さくなければなりません。

エクスポートされるドキュメント数を制限するには、 --sort--skip--limit および と組み合わせて使用します。

mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --out=export.0.json
mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --skip=100 --out=export.1.json
mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --skip=200 --out=export.2.json

sort()基礎となる操作の詳細については、 を参照してください。