Docs Menu
Docs Home
/
MongoDB データベース ツール

mongodump

項目一覧

  • 定義
  • 構文
  • オプション
  • 詳細

mongodump は、データベース コンテンツのバイナリ エクスポート作成用ユーティリティです。mongodump のデータのエクスポート元は次のとおりです。

  • スタンドアロン配置

  • レプリカセット

  • シャーディングされたクラスター

  • サーバーレス インスタンス

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

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

mongodump は、mongodmongos インスタンスに接続できます。

mongodump から生成された BSON ファイルは、復元元と同じかそれ以降のバージョンを実行中の MongoDB 配置に復元できます。ただし、新しいバージョンの配置へのファイルの復元は、配置のアップグレード方法としては推奨されていません。配置のアップグレード方法については、アップグレードのドキュメントを参照してください。

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

Tip

以下も参照してください。

mongorestore を使用すると、mongodump からエクスポートされたデータをインポートできます。

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

mongodump 次のアイテムをダンプします。

  • コレクション ドキュメント、メタデータ、オプション。

  • インデックスの定義。

  • mongodump --oplog オプションを指定して実行した場合に、エクスポート中に発生する書き込み。

mongodump は、ディレクトリまたはバイナリ アーカイブ ファイルにデータをダンプします。

以下は、mongodump ディレクトリのダンプ構造とファイルの例です。

dump
├── easternSalesDatabase
│ ├── sales.bson
│ ├── sales.metadata.json
│ └── salesByMonthView.metadata.json
├── westernSalesDatabase
│ ├── sales.bson
│ ├── sales.metadata.json
│ └── salesByMonthView.metadata.json
└── oplog.bson

mongodump はディレクトリ ダンプ用に次のアイテムを作成します。

  • デフォルト名が dump のルート ディレクトリ。mongodump --out オプションを使用して名前を設定できます。

  • 各データベースのルート ディレクトリのサブディレクトリ。たとえば、データベース名が easternSalesDatabase の場合は、サブディレクトリ名も easternSalesDatabase になります。

  • 各コレクションのドキュメントを含む BSON ファイル。たとえば、コレクション名が sales の場合、BSON ファイル名は sales.bson になります。

  • 各データベース ディレクトリ内の各コレクションのメタデータ JSON ファイル。例として、メタデータ sales.metadata.json ファイルが挙げられます。ファイルには、エクスポートされたコレクションのメタデータ、オプション、インデックスが収録されているドキュメントが含まれます。

  • 各ビューのメタデータ JSON ファイル。例として、メタデータ salesByMonthView.metadata.json ファイルが挙げられます。BSON ファイルはビューに含まれません。

  • ルート ディレクトリに配置されるオプションの oplog oplog.bson ファイルで、mongodump の実行中に発生した書き込み操作が含まれます。oplog.bson ファイルを出力するには、mongodump --oplog オプションを使用します。

mongodump --gzip オプションを使用する場合、BSON ファイルと JSON メタデータ ファイルは圧縮されます。エクスポートされる圧縮ファイル名の末尾には、bson.gzmetadata.json.gz が付きます。

バイナリ アーカイブ ファイルにデータをダンプするには、mongodump --archive オプションを使用します。mongodump が作成するバイナリ ファイルにはアーカイブされたデータが含まれます。

mongodump 構文:

mongodump <options> <connection-string>

ポート 27017 で実行されているローカル MongoDB インスタンスに接続し、デフォルト設定を使用してコンテンツをエクスポートするには、mongodump をコマンドライン オプションなしで実行します。

mongodump

MongoDB インスタンスのホストおよび/またはポートを指定するには、次のようにします。

  • ホスト名とポートを --uri connection string オプションで指定します。

    mongodump --uri="mongodb://mongodb0.example.com:27017" [additional options]
  • ホスト名とポートを --host オプションで指定します。

    mongodump --host="mongodb0.example.com:27017" [additional options]
  • --host オプション、および --port オプションでホスト名とポートを次のように指定します。

    mongodump --host="mongodb0.example.com" --port=27017 [additional options]

レプリカセットに接続してデータをエクスポートするには、次のようにします。

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

    mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName" [additional options]
  • --host オプションでレプリカセットの名前とノードを指定します。

    mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" [additional options]

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

  • 読み込み設定 (read preference) は --uri connection string オプションで指定できます。

    mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName&readPreference=secondary" [additional options]

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

    mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName&readPreference=secondary&readPreferenceTags=region:east" [additional options]
  • 読み込み設定 (read preference) は --readPreference コマンドライン オプションを使用して指定することができます。コマンドライン オプションは、読み込み設定 (read preference) モードのみを指定する場合、string を取ります。

    mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference=secondary [additional options]

    また、コマンドライン オプションは、引用符で囲まれたドキュメント '{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}' を受け取り、モード、任意の読み込み設定 (read preference) タグ セット、任意の maxStalenessSeconds を次のように指定できます。

    mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]

注意

データの不整合を回避するには、 mongodumpを実行するときにシャーディングされたクラスターで次のアクションを一時停止します。

  • クロスシャード トランザクション

  • データ定義言語操作(コレクションを作成および変更する操作)

  • チャンク バランシング

バランサーを停止するには、 sh.stopBalancer()メソッドを使用します。

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

  • --uri connection string オプションで mongos インスタンスのホスト名を指定します。

    mongodump --uri="mongodb://mongos0.example.com:27017" [additional options]
  • mongos インスタンスのホスト名とポートを --host オプションで次のように指定します。

    mongodump --host="mongos0.example.com:27017" [additional options]

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

  • 読み込み設定 (read preference) は --uri connection string オプションで指定できます。

    mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary" [additional options]

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

    mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary&readPreferenceTags=region:east" [additional options]
  • 読み込み設定(read preference)は、--readPreference コマンドライン オプションを使用して指定できます。読み込み設定モードのみを指定する場合、コマンドライン オプションでは次の文字列が使用されます。

    mongodump --host="mongos0.example.com:27017" --readPreference=secondary [additional options]

    また、コマンドライン オプションは、引用符で囲まれたドキュメント '{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds: <num>}' を受け取り、モード、任意の読み込み設定 (read preference) タグ セット、任意の maxStalenessSeconds を次のように指定できます。

    mongodump --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]
--help

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

--verbose, -v

標準出力またはログファイルに対して返される内部レポートの量を増やします。オプションを複数回含めることで、-v フォームで詳細度を高めます。例: -vvvvv

--quiet

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

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

  • データベース コマンドからの出力

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

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

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

--version

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

--config=<filename>

バージョン 100.3.0 の新機能

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

これは、mongodump にパスワードを指定するのに、パスワード プロンプトを使用して指定する以外で推奨される方法です。

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

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

password: フィールドにパスワードを指定し、競合するパスワードを含む接続文字列を uri: フィールドに指定すると、エラーが発生します。

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

注意

--config で構成ファイルを指定し、かつ mongodump--password--uri または --sslPEMKeyPassword オプションも使用する場合、各コマンドライン オプションによって構成ファイルの対応オプションが上書きされます。

--uri=<connectionString>

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

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

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

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

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

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

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

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

注意

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

注意

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

警告

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

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

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

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

デフォルト: localhost:27017

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

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

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

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

また、レプリカセットの任意の 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 を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。

--sslCAFile=<filename>

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

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

--sslPEMKeyFile=<filename>

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

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

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

--sslPEMKeyPassword=<value>

証明書キー ファイルの複合化用パスワード(--sslPEMKeyFile)を指定します。証明書キー ファイルが暗号化されている場合にのみ、`--sslPEMKeyPassword オプションを使用します。いずれの場合も、mongodump ではすべてのログとレポート出力でパスワードが非表示になります。

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

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

警告

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

--sslCRLFile=<filename>

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

--sslAllowInvalidCertificates

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

警告

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

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

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

--sslAllowInvalidHostnames

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

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

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

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

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

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

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

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

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

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

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

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

  • このフィールド

  • connection string、または

  • 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 IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。

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

--authenticationDatabase=<dbname>

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

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

認証データベースまたはエクスポートするデータベースを指定しない場合、mongodump では admin データベースがユーザー認証情報の格納先であると想定されます。

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

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

--authenticationMechanism=<name>

デフォルト: SCRAM-SHA-1

mongodump インスタンスが認証に使用する認証メカニズムとして、mongod または mongos を指定します。

バージョン 100.1.0 での変更: バージョン 100.1.0 以降、MongoDB Atlas クラスターへの接続時に MONGODB-AWS 認証メカニズムのサポートが mongodump に追加されます。

説明
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

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

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

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

--gssapiHostName

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

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

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

バックアップするデータベースを指定します。指定しない場合、mongodump ではこのインスタンスのすべてのデータベースがダンプ ファイルにコピーされます。

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

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

バックアップするコレクションを指定します。コレクションを指定せずにこのオプションを選択すると、特定のデータベースまたはインスタンスに含まれるすべてのコレクションがダンプ ファイルにコピーされます。

--query=<json>, -q=<json>

mongodump の出力に含まれるドキュメントをオプションで制限するクエリとして JSON document を入力します。--query オプションを使用するには、--collection <mongodump --collection> オプションも指定する必要があります。

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

クエリ には、フィールド名とオペレーターを引用符で囲むなどの拡張 JSON v2 形式(緩和モード、標準モード、厳密モードのいずれか)必ず使用します。以下に例を挙げます。

mongodump -d=test -c=records -q='{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016-01-01T00:00:00.000Z" } } }'

$regexmongodump と併用するには、次の構文を使用します。

mongodump -d=sample_mflix -c=movies -q='{ "year": { "$regex": "20" } }'

注意

時系列コレクション--query オプションを使用する場合、metaField と指定されているフィールドのみをクエリできます。

--queryFile=<path>

mongodump の出力に含まれるドキュメントを制限するクエリフィルターとして、JSON document を含むファイルへのパスを指定します。--queryFile を使用すると、ターミナルのバッファに収まらないほど大きなクエリフィルターを作成できます。

注意

時系列コレクションで --queryFile オプションを使用する場合、metaField と指定されているフィールドのみをクエリできます。

--readPreference=<string|document>

デフォルト: primary

mongodump読み込み設定(read preference)を指定します。--readPreferenceには次のような選択肢があります。

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

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

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

    maxStalenessSeconds の指定値は 90以上である必要があります。

mongodump primary がデフォルトの読み込み設定(read preference)に指定されます。

--uri connection string <--uri> も読み込み設定(read preference)に含まれている場合、コマンドライン --readPreference によって URI文字列で指定された読み込み設定が上書きされます。

--gzip

出力を圧縮します。mongodump の出力先がダンプ ディレクトリである場合、この新機能によって個々のファイルが圧縮されます。圧縮ファイルの拡張子は .gz です。

mongodumpアーカイブ ファイルまたは標準出力ストリームに出力する場合、新しい機能により、アーカイブ ファイルまたはストリームに出力されるデータが圧縮されます。

--out=<path>, -o=<path>

ダンプされるデータベース用に mongodump によってBSON ファイルが書き込まれるディレクトリを指定します。mongodump での出力ファイルのデフォルトの保存先は、現在の作業ディレクトリにある dump という名前のディレクトリです。

データベース ダンプを標準出力に送信するには、パスの代わりに「-」を指定します。ダンプを圧縮するために gzip を使用するなど、出力を保存する前に処理する場合は、標準出力に書き込みます。標準出力の書き込み時に、mongodump でファイルに直接書き込みが行われる場合、<dbname>.metadata.json ファイルへの書き込みにメタデータは使用されません。

--archive オプションを --out オプションと一緒に使用することはできません。

--archive=<file>

指定されたアーカイブ ファイルに出力を書込み (write) ます。アーカイブ ファイルが指定されていない場合は、標準出力(stdout)に書込みます。アーカイブ ファイルは、複数の BSON ファイルの代わりとなる 単一ファイルです。

  • アーカイブ ファイルにダンプを出力するには、--archive <mongodump --archive> オプションとアーカイブ ファイル名を指定して mongodump を実行します。

    mongodump --archive=<file>
  • 標準出力ストリームにダンプを出力して別のプロセスにつなげるには、--archive <mongodump --archive> オプションを指定(ただし、ファイル名は省略)して、mongodump を実行します。

    mongodump --archive

--archive <mongodump --archive> オプションを --out <mongodump --out> オプションと一緒に使用することはできません。

注意

mongodump でアーカイブ ファイルへの書き込みを実行する場合、mongodump のパフォーマンスを向上できます。mongodump のパフォーマンスへの影響の詳細については、「出力形式の考慮事項」を参照してください。

--oplog

mongodump 出力の一部として oplog.bson という名前のファイルを作成します。出力ディレクトリの最上位にある oplog.bson ファイルには、mongodump 操作中に発生したoplog エントリが含まれています。

復元操作で oplog.bson ファイルから oplog エントリを適用するには、mongorestore --oplogReplay を使用します。mongodump --oplogmongorestore --oplogReplay を併用すると、データが最新で、ダンプ中に発生したすべての書込み (write) が含まれていることを確認できます。

--oplog を使用しない場合に、ダンプ操作中に書き込みが行われると、そのダンプには特定の時点が反映されません。更新プロセス中にデータベースに変更を加えると、バックアップの出力に影響する可能性があります。

書込み (write) を受け入れながら個々のレプリカセットをバックアップするには、 --oplogを使用します。 mongodumpを使用してシャーディングされたクラスターをバックアップするには、「データベース ダンプを使用して自己管理型シャーディングされたクラスターをバックアップする 」を参照してください。

重要

--oplog を使って実行中の mongodump は、ダンプ処理中にリストされたいずれかの操作指示がクライアントから出されると、失敗します。

--oplog は、mongos インスタンスで mongodump を実行してシャーディングされたクラスターのコンテンツ全体をダンプしても効果はありません。

--oplog oplog を維持するノードに対してのみ機能します。レプリカセットのすべてのノードもその一例です。

--oplog は oplog コレクションをダンプしません。

注意

mongodump--oplog と併用するには、レプリカ セット メンバーの完全なダンプを作成する必要があります。次のオプションを使ってダンプされるデータを制限する場合には、mongodump--oplog と併用できません。

  • --db

  • --collection

  • --dumpDbUsersAndRoles

  • --query

Tip

以下も参照してください。

--dumpDbUsersAndRoles

特定のデータベースで mongodump を実行時に、ユーザー定義とロール定義がデータベースのダンプ ディレクトリに追加されます。このオプションが適用されるのは、--db オプションでデータベースを指定した場合に限定されます。MongoDB では、特定データベースだけでなくインスタンス全体に mongodump が適用される場合は、常にユーザー定義とロール定義が追加されます。

--excludeCollection=<string>

mongodump 出力から指定コレクションを除外します。複数のコレクションを除外するには、--excludeCollection を複数回指定します。

--excludeCollectionsWithPrefix=<string>

mongodump 出力から指定プレフィックスを持つすべてのコレクションを除外します。複数のプレフィックスを指定するには、--excludeCollectionsWithPrefix を複数回指定します。

--numParallelCollections=<int>, -j=<int>

デフォルト: 4

mongodump が並行してエクスポートするコレクション数。

--viewsAsCollections

このオプションを指定すると、mongodump ではビューがコレクションとしてエクスポートされます。

注意

ビューのみがエクスポートされます。mongodump のデフォルト設定では、ビューのメタデータのみがエクスポートされます。ビュー内のドキュメントをエクスポートするには、--viewsAsCollections オプションを使用します。

mongodump ではビューごとに、そのビューのドキュメントを含む BSON ファイルが作成されます。mongodump によって作成された BSON ファイルとともに mongorestore を使用すると、ビューはコレクションとして復元されます。

--viewsAsCollections含めない場合mongodump では各ビューのメタデータがキャプチャされます。mongorestore 操作にビューのメタデータ ファイルを含めると、ビューが再作成されます。

mongodump の詳細については、以下を参照してください。

チュートリアルについては、「データベース ダンプを使用して自己管理型シャーディングされたクラスターをバックアップする 」を参照してください。

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

戻る

MongoDB データベースツールのドキュメンテーション