mongoexport
このドキュメントは、mongoexport
のバージョン 100.10.0
用です。
Synopsis
mongoexport
は、MongoDB インスタンスに保存されたデータの JSON または CSV エクスポートを生成するデータベース ツールです。
mongo
shell ではなく、システム コマンドラインから mongoexport
を実行します。
mongoexport
は、配置をバックアップするためのツールではありません。 バックアップ ソリューションを作成する場合は、「 MongoDB ツールを使用した自己管理型配置のバックアップと復元 」を参照してください。
注意
ストレージ コストを節約するために古いデータをアーカイブする場合、MongoDB Atlas での Online Archive の使用がおすすめです。Atlas Online Archive は、アクセス頻度の低いデータをフルマネージドの S3 バケットに自動的にアーカイブするコスト効果の高いデータ階層化ツールです。
MongoDB データベースツールを使用して、セルフホスト型配置から MongoDB Atlas へ移行できます。MongoDB Atlas は、MongoDB をクラウドに配置するためのフルマネージド サービスです。詳細については、「mongorestore でのシード処理」を参照してください。
MongoDB Atlas への移行方法については、「データの移行またはインポート」を参照してください。
構文
mongoexport
構文:
mongoexport --collection=<coll> <options> <connection-string>
エクスポートする collection
を指定する必要があります。output file
を指定しない場合、mongoexport
では標準出力(stdout)に書き込まれます。
MongoDB インスタンスへの接続
ポート 27017 で実行されているローカル MongoDB インスタンスに接続するには、ホストまたはポートを指定する必要はありません。
たとえば、ポート 27017 で実行されている MongoDB のローカル インスタンスから、指定された output file
に指定された collection
をエクスポートするには、次の手順に従います。
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
を使用する場合、文字列の一部としてデータベースを指定できます。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
を使用する場合、文字列の一部としてデータベースを指定できます。--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
を使用する場合、文字列の一部としてデータベースを指定できます。読み込み設定(read preference)は、
--readPreference
コマンドライン オプションを使用して指定できます。読み込み設定モードのみを指定する場合、コマンドライン オプションでは次の文字列が使用されます。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.
シャーディングされたクラスターに接続してデータをエクスポートするには、次のいずれかの方法を実行します。
--uri connection string
でmongos
インスタンスのホスト名を指定します。mongoexport --uri="mongodb://mongos0.example.com:27017/reporting" --collection=events --out=events.json [additional options] --uri connection string
を使用する場合、文字列の一部としてデータベースを指定できます。--host
でmongos
インスタンスのホスト名とポート名を指定します。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
を使用する場合、文字列の一部としてデータベースを指定できます。読み込み設定(read preference)は、
--readPreference
コマンドライン オプションを使用して指定できます。読み込み設定モードのみを指定する場合、コマンドライン オプションでは次の文字列が使用されます。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 の新機能。
次のオプションの機密値を含む YAML 構成ファイルへのフル パスを
mongoexport
に指定します。これは、
mongoexport
にパスワードを指定するのに、パスワード プロンプトを使用して指定する以外で推奨される方法です。構成ファイルは以下の形式をとります。
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> password:
フィールドにパスワードを指定し、競合するパスワードを含む接続文字列をuri:
フィールドに指定すると、エラーが発生します。このファイルは、必ず適切なファイルシステム権限で保護してください。
注意
--config
で構成ファイルを指定し、かつmongoexport
--password
、--uri
または--sslPEMKeyPassword
オプションも使用する場合、各コマンドライン オプションによって構成ファイルの対応オプションが上書きされます。
--uri=<connectionString>
MongoDB 配置の解決可能な URI 接続文字列 を引用符で囲んで指定します。
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" mongoexport
のバージョン100.0
以降、接続文字列は、--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
など、独自の明示的コマンドライン オプションを使用して指定することもできます。明示的オプションを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。注意
mongoexport
を Ubuntu 18.04 で使用する場合、(mongodb+srv://
形式で)SRV 接続文字列を--uri
オプションと併用する場合、cannot unmarshal DNS
というエラー メッセージが表示されることがあります。その場合は、次のいずれかのオプションを代わりに使用します。--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
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--ssl
TLS/SSL サポートが有効になっている
mongod
またはmongos
への接続を有効にします。あるいは、
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
オプションを使用してmongod
またはmongos
に接続し、かつこれらでallowConnectionsWithoutCertificates
. がない状態で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
サーバー証明書の検証チェックをバイパスし、無効な証明書を使用できるようにします。
allowInvalidCertificates
設定を使用すると、MongoDB では無効な証明書の使用に対する警告としてログに記録されます。警告
あるいは、
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-AWS
authentication mechanism
を使用して MongoDB Atlas クラスターに接続する場合は、次の場所で 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-AWS
authentication mechanism
を使用して MongoDB Atlas クラスターに接続する場合は、次の場所で AWS シークレットアクセスキーを指定できます。このフィールド
AWS_SECRET_ACCESS_KEY
環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
警告
一部のシステムでは、
--password
オプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のあるps
などのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。--password
オプションを省略し、インタラクティブなパスワード プロンプトを表示する--config
オプションを使用して、パスワードを含む構成ファイルを指定します。
--awsSessionToken=<AWS Session Token>
MONGODB-AWS
authentication mechanism
を使用して MongoDB Atlas クラスターに接続し、AWS アクセスキー ID とシークレットアクセスキーに加えてセッション トークンを使用する場合は、次の場所に AWS セッション トークンを指定できます。このフィールド
AWS_SESSION_TOKEN
authMechanismProperties
パラメーターをconnection string
へ、またはAWS_SESSION_TOKEN
環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
MONGODB-AWS
authentication mechanism
を使用している場合にのみ有効です。
--authenticationDatabase=<dbname>
指定された
--username
が作成された認証データベースを指定します。詳細については、「認証データベース」を参照してください。認証データベースを指定しない場合、
mongoexport
ではエクスポート対象として指定されたデータベースがユーザー認証情報を保持していると想定されます。GSSAPI(Kerberos)、PLAIN(LDAP SASL)、または
MONGODB-AWS
authentication mechanisms
を使用する場合は、--authenticationDatabase
を$external
に設定する必要があります。あるいは、
URI connection string
で認証データベースを直接指定することもできます。--authenticationDatabase
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--authenticationMechanism=<name>
デフォルト: SCRAM-SHA-1
mongoexport
インスタンスがmongod
またはmongos
への認証に使用する認証メカニズムを指定します。バージョン 100.1.0 での変更: バージョン
100.1.0
以降、MongoDB Atlas クラスターへの接続時にMONGODB-AWS
認証メカニズムのサポートがmongoexport
に追加されます。値説明SHA-1 ハッシュ関数を使用する RFC5802 標準の Salted Challenge Response Authentication Mechanismです。SHA-256 ハッシュ関数を使用する RFC 7677 標準の Salted Challenge Response Authentication Mechanism。
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
を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--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
オプションでは、エクスポートに含めるフィールドをファイルで指定できます。このオプションは、csv
という値のある--type
で のみ有効です。ファイルの各行に含めるフィールドは 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"}} mongoexport
への--sort
オプションで結果をソートできます。
--queryFile=<filename>
--query
の代わりに使用できます。--queryFile
オプションを使用すると、ファイル内で拡張 JSON v2 形式のクエリを指定できます。
--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
エクスポート内容全体が 1 つの JSON 配列として書き込まれるように
mongoexport
の出力が変更されます。mongoexport
のデフォルト設定では、MongoDB ドキュメントごとに 1 つの JSON document を使用してデータが書き込まれます。
--noHeaderLine
mongoexport
のデフォルト設定では、CSV 出力の最初の行にエクスポートされるフィールド名が含まれます。--noHeaderLine
の指示によりmongoexport
ではフィールド名リストなしにデータがエクスポートされます。--noHeaderLine
は--type
オプションの値がcsv
の場合にのみ有効です。使用例については、「CSV 出力からフィールド名を除外する」を参照してください。
--readPreference=<string|document>
デフォルト:
primary
mongoexport
の読み込み設定(read preference)を指定します。--readPreference
オプションでは以下を指定できます。読み込み設定 (read preference) モードのみを指定する場合の文字列
--readPreference=secondary モード、オプションの読み込み設定(read preference)タグセット、任意の maxStalenessSeconds を指定するために、次のとおり引用符で囲まれたドキュメント。
--readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}' maxStalenessSeconds の指定値は 90以上である必要があります。
mongoexport
のデフォルトの読み込み設定(read preference)は、primary
です。--uri connection string
に読み込み設定(read preference)も含まれている場合、コマンドライン--readPreference
によって URI文字列で指定された読み込み設定が上書きされます。
--skip=<number>
--skip
を使用して、mongoexport
でドキュメントのエクスポートが開始される場所を制御します。基礎となる操作の詳細については、「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()
」を参照してください。