このドキュメントは、mongoexport のバージョン 100.19.0 用です。
Synopsis
mongoexport は、MongoDB インスタンスに保存されたデータの JSON または CSV エクスポートを生成するデータベース ツールです。
mongoexportシェルではなく、 システムコマンドラインからmongo を実行します。
mongoexport は、デプロイメントのバックアップ用ツールではありません。バックアップソリューションを作成する場合は、「MongoDB ツールを使用したバックアップと復元」を参照してください。
Tip
mongoimport 、これは対応する構造化データのインポート機能を提供します。
注意
ストレージコストを削減するために古いデータをアーカイブする場合は、Online Archive(MongoDB Atlas)の使用を検討してください。Online Archive は、アクセス頻度の低いデータを完全管理の S3 バケットに自動的にアーカイブするコスト効果の高いデータ階層化ツールです。
MongoDB データベースツールを使用して、セルフホスト型配置から MongoDB Atlas へ移行できます。MongoDB Atlas は、MongoDB をクラウドに配置するためのフルマネージド サービスです。詳細については、mongorestore でのシード処理を参照してください。
MongoDB Atlas へ移行するすべての方法については、「データの移行またはインポート」を参照してください。
構文
mongoexport 構文:
mongoexport --collection=<coll> <options> <connection-string>
エクスポートする collectionを指定する必要があります。 を指定しない場合、 は標準出力(stdout)に書き込まれます。output filemongoexport
MongoDB インスタンスへの接続
ポート 27017 で実行されているローカル MongoDB インスタンスに接続するには、ホストまたはポートを指定する必要はありません。
例、ポートcollection で実行中MongoDBoutput file のローカルインスタンスから、指定された に指定された27017 をエクスポートするには、次の手順に従います。
mongoexport --collection=events --db=reporting --out=events.json
MongoDB インスタンスのホストおよび/またはポートを指定するには、次のいずれかの方法を使用します。
でホスト名とポートを次のように指定します。
--uri connection stringmongoexport --uri="mongodb://mongodb0.example.com:27017/reporting" --collection=events --out=events.json [additional options] --uri connection stringを使用する場合、文字列の一部としてデータベースを指定できます。でホスト名とポートを次のように指定します。
--hostmongoexport --host="mongodb0.example.com:27017" --collection=events --db=reporting --out=events.json [additional options]
利用可能なオプションの詳細については、「オプション」を参照してください。
レプリカセットへの接続
注意
mongoexport は、データをバックアップするためのツールではありません。レプリカセットをバックアップするには、「MongoDB ツールを使用したバックアップと復元」を参照してください。
レプリカセットに接続してデータをエクスポートするには、次のいずれかの方法を実行します。
でレプリカセットの名前とノードを指定します。
--uri connection stringmongoexport --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を使用する場合、文字列の一部としてデータベースを指定できます。でレプリカセットの名前とノードを指定します。
--hostmongoexport --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 stringmongoexport --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を使用する場合、文字列の一部としてデータベースを指定できます。読み込み設定 (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を使用する場合、文字列の一部としてデータベースを指定できます。
mongoexport のデフォルト設定では、シャード レプリカセットのプライマリからデータが読み取られます。このデフォルト設定を上書きするには、読み込み設定(read preference)を次のように変更します。
読み込み設定 (read preference) は、ここに指定します。
--uri connection stringmongoexport --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を使用する場合、文字列の一部としてデータベースを指定できます。読み込み設定 (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]
オプション
--quiet出力量を制限する quiet モードで
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、または--sslPEMKeyPasswordmongoexportコマンドラインオプションも使用している場合、コマンドラインオプションは対応する構成ファイルオプションを上書きします。
--uri=<connectionString>MongoDB 配置の解決可能な URI 接続文字列 を引用符で囲んで指定します。
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" のバージョン
100.0mongoexport以降では、 オプションを使用せずに、接続文字列を位置指定パラメータとして提供することもできます。--urimongoexport 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.04cannot unmarshal DNSを使用している場合、SRV 接続文字列(mongodb+srv://形式)を オプションとともに使用すると、--uriエラー メッセージが表示されることがあります。その場合は、次のいずれかのオプションを代わりに使用します。--uri非 SRV接続文字列(mongodb://形式)と オプション直接接続するホストを指定するための
--hostオプション
--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を使用中に競合する情報を指定すると、エラーが発生します。
--sslTLS / SSL
mongodmongosサポートが有効になっている または への接続を有効にします。あるいは、
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なしでmongodmongosCAFileが有効になっている または に接続する場合に必要です。あるいは、
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サーバー証明書の検証チェックをバイパスし、無効な証明書を使用できるようにします。 設定を使用すると、 MongoDB
allowInvalidCertificatesは無効な証明書の使用を警告としてログを記録します。警告
--sslAllowInvalidCertificatesオプションは使用可能ですが、可能な限り使用しないでください。--sslAllowInvalidCertificatesの使用が必要な場合は、侵入が不可能なシステムでのみこのオプションを使用してください。mongodサーバー証明書を検証せずに または インスタンスに接続すると、潜在的なセキュリティ上のリスクが発生します。 TLS/SSL 証明書のホスト名の検証を無効にするだけの場合は、 を参照してください。mongos--sslAllowInvalidHostnamesあるいは、
URI connection stringで証明書の検証を直接無効にすることもできます。接続文字列を提供すると同時に、--sslAllowInvalidCertificatesを使用中に競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
--sslAllowInvalidHostnamesTLS/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 を指定できます。このフィールド
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シークレット アクセスキーを指定できます。このフィールド
AWS_SECRET_ACCESS_KEY環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
警告
一部のシステムでは、
--passwordオプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のあるpsなどのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。--passwordオプションを省略し、インタラクティブなパスワード プロンプトを表示する--configオプションを使用して、パスワードを含む構成ファイルを指定します。
--awsSessionToken=<AWS Session Token>を使用してMongoDB Atlasクラスターに接続し、
MONGODB-AWSauthentication mechanismAWSアクセスキーIDとシークレットアクセスキーに加えてセッション トークンを使用する場合は、次の場所にAWSセッション トークンを指定できます。このフィールド
AWS_SESSION_TOKENauthMechanismPropertiesパラメータをconnection stringに、またはAWS_SESSION_TOKEN環境変数。
それぞれの例については、「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 Atlas クラスターに接続する際、MONGODB-AWS認証メカニズムのサポートを追加します。値説明RFC5802 標準の Salted Challenge Response Authentication Mechanism(SHA-1 ハッシュ関数を使用)。
RFC7677 標準の Salted Challenge Response Authentication Mechanism(SHA-256 ハッシュ関数を使用)。
featureCompatibilityVersion を
4.0に設定する必要があります。MongoDB TLS/SSL 証明書認証。
MONGODB-AWSMongoDB 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を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--fields=<field1[,field2]>, -f=<field1[,field2]>エクスポートに含めるフィールドを指定します。複数のフィールドを指定するには、カンマで区切られたフィールドのリストを使用します。
フィールド名に空白が含まれる場合は、引用符でフィールド リストを囲みます。たとえば、
phoneとuser numberの 2 つのフィールドをエクスポートする場合、--fields "phone,user number"と指定します。csv出力形式の場合、mongoexportには指定フィールドのみが含まれます。指定フィールドはサブドキュメント内のフィールドである可能性があります。JSON出力形式の場合、
mongoexportには指定されたフィールドと_idフィールドのみが含まれ、指定されたフィールドがサブドキュメント内のフィールドである場合、mongoexportにはサブドキュメントが含まれますドキュメント内の指定されたフィールドだけでなく、そのフィールドすべてが含まれます。使用例については、「
--fieldsオプションを使用して CSV 形式でデータをエクスポートする」を参照してください。
--fieldFile=<filename>--fieldsの代替手段。--fieldFileオプションを使用すると、エクスポートに含めるフィールドをファイルで指定できます。このオプションは、--typeオプションの値がcsvの場合にのみ有効です。ファイルの各行に含めるフィールドは 1 つのみとし、各行の末尾には LF 文字(0x0A)を指定する必要があります。mongoexportには、指定したフィールドのみが含まれます。指定したフィールドは、サブドキュメント内のフィールドでも構いません。使用例については、「ファイルを使用して、CSV 形式でエクスポートするフィールドを指定する」を参照してください。
--query=<JSON>, -q=<JSON>エクスポートで一致するドキュメントを返すために、クエリを JSON document(引用符で囲む)として提供します。
shell 環境とやり取りしないように、クエリ ドキュメントを一重引用符(
'{ ... }')で囲む必要があります。クエリは、フィールド名と演算子を引用符で囲むなど、 拡張JSON v2 形式( 緩和モード 、標準モード、厳密モードのいずれか)である必要があります。
たとえば、データベース
testにrecordsという名前のコレクションがあり、次のドキュメントが含まれているとします。{ "_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では、-qオプションを使用して、フィールドaが3以上($gte)で、かつフィールドdateがISODate("2016-01-01T00:00:00Z")未満($lt)であるドキュメントのみがエクスポートされます。日付は、日付用拡張 JSON v2 形式(緩和モード)({ "$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"}} オプションで結果を
--sortmongoexportに並べ替えることができます。MongoDB 9.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
エクスポートするファイルの種類を指定します。
csvCSV形式の場合は を指定し、jsonJSON形式の場合は を指定します。csv--fieldsを指定する場合は、コレクションからエクスポートするフィールドを宣言するために、--fieldFileまたは のいずれかのオプションも使用する必要があります。
--out=<file>, -o=<file>エクスポートの書き込み先ファイルを指定します。ファイル名を指定しない場合、
mongoexportでは標準出力(例:stdout)にデータが書き込まれます。
--jsonFormat=<canonical|relaxed>デフォルト: relaxed
MongoDB拡張JSON (v2 )形式の標準モードまたは緩和モードのいずれかを使用するように出力を変更します。
標準モードと緩和モードの違いについては、 「 MongoDB拡張JSON (v2 ) 」を参照してください。
--jsonArrayエクスポート内容全体が
mongoexport1 つのJSON配列として書き込まれるように の出力が変更されます。デフォルトでは、mongoexportはMongoDBドキュメントごとに 1 つのJSON ドキュメントを使用してデータを書込みます。
--noHeaderLineデフォルトでは 、 では CSV 出力の最初の行にエクスポートされるフィールド名が含まれます。
mongoexport--noHeaderLinemongoexportは にフィールド名リストなしにデータをエクスポートするよう指示します。--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 以上である必要があります。
mongoexportprimaryはデフォルトで 読み込み設定 (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()基礎となる操作の詳細については、 を参照してください。