定義
mongodump は、データベース コンテンツのバイナリ エクスポート作成用ユーティリティです。mongorestore を使用すると、mongodump からエクスポートされたデータをインポートできます。
mongodump のデータのエクスポート元は次のとおりです。
スタンドアロン配置
レプリカセット
シャーディングされたクラスター
Flex クラスター
MongoDB データベースツールを使用して、セルフホスト型配置から MongoDB Atlas へ移行できます。MongoDB Atlas は、MongoDB をクラウドに配置するためのフルマネージド サービスです。詳細については、「mongorestore でのシード処理」を参照してください。
MongoDB Atlas への移行方法については、「データの移行またはインポート」を参照してください。
mongodump は、mongod と mongos インスタンスに接続できます。
mongodump から生成された BSON ファイルは、復元元と同じメジャー バージョンまたは機能の互換性バージョンを実行している MongoDB 配置に復元できます。
mongo shell ではなく、システム コマンド ラインから mongodump を実行します。
注意
ストレージコストを削減するために古いデータをアーカイブする場合は、 Online Archive ( MongoDB Atlas )の使用を検討してください。Online Archive にはデータ階層化機能があり、アクセス頻度の低いデータを完全管理の S3 バケットに自動的にアーカイブして可用性を確保します。
Online Archive は、Atlas Infinite Database クラスターではサポートされていません。「パブリックプレビューの可用性」を参照してください。
mongodump 次のアイテムをダンプします。
コレクション ドキュメント、メタデータ、オプション。
インデックスの定義。
mongodump--oplogオプションを指定して実行した場合に、エクスポート中に発生する書き込み。
mongodump は、ディレクトリまたはバイナリ アーカイブ ファイルにデータをダンプします。
重要
Queryable Encryption またはクライアント側フィールドレベル暗号化 (CSFLE) を使用するコレクションで mongodump を使用することはできません。
ディレクトリへのデータのダンプ
以下は、mongodump ディレクトリのダンプ構造とファイルの例です。
dump├── easternSalesDatabase│ ├── sales.bson│ ├── sales.metadata.json│ └── salesByMonthView.metadata.json├── westernSalesDatabase│ ├── sales.bson│ ├── sales.metadata.json│ └── salesByMonthView.metadata.json└── oplog.bsonmongodump はディレクトリ ダンプ用に次のアイテムを作成します。
デフォルト名が
dumpのルート ディレクトリ。mongodump--outオプションを使用して名前を設定できます。各データベースのルート ディレクトリのサブディレクトリ。たとえば、データベース名が
easternSalesDatabaseの場合は、サブディレクトリ名もeasternSalesDatabaseになります。各コレクションのドキュメントを含む BSON ファイル。たとえば、コレクション名が
salesの場合、BSON ファイル名はsales.bsonになります。各データベース ディレクトリ内の各コレクションのメタデータ JSON ファイル。例として、メタデータ
sales.metadata.jsonファイルが挙げられます。ファイルには、エクスポートされたコレクションのメタデータ、オプション、インデックスが収録されているドキュメントが含まれます。各ビューのメタデータ JSON ファイル。例として、メタデータ
salesByMonthView.metadata.jsonファイルが挙げられます。BSON ファイルはビューに含まれません。
mongodump --gzip オプションを使用する場合、BSON ファイルと JSON メタデータ ファイルは圧縮されます。エクスポートされる圧縮ファイル名の末尾には、bson.gz と metadata.json.gz が付きます。
バイナリ アーカイブ ファイルへのデータのダンプ
バイナリ アーカイブ ファイルにデータをダンプするには、mongodump --archive オプションを使用します。mongodump が作成するバイナリ ファイルにはアーカイブされたデータが含まれます。
--oplogオプションを指定してmongodumpを実行すると、アーカイブにoplogエントリが含まれます。
構文
mongodump 構文:
mongodump <options> <connection-string>ポート 27017 で実行されているローカル MongoDB インスタンスに接続し、デフォルト設定を使用してコンテンツをエクスポートするには、mongodump をコマンドライン オプションなしで実行します。
mongodumpMongoDB インスタンスのホストおよび/またはポートを指定するには、次のようにします。
ホスト名とポートを
--uri connection stringオプションで指定します。mongodump --uri="mongodb://mongodb0.example.com:27017" [additional options]ホスト名とポートを
--hostオプションで指定します。mongodump --host="mongodb0.example.com: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]
オプション
--quiet出力量を制限する quiet モードで
mongodumpを実行します。このオプションにより次の項目が抑制されます。
データベース コマンドからの出力
レプリケーション アクティビティ
接続を受け付けたイベントと接続を終了したイベント
エラーメッセージを含むすべてのログ(オプションの解析時に発生するログを除く)
--config=<filename>バージョン100.3.0の新機能。
次の
mongodumpオプションの機密値を含む YAML 構成ファイルへのフル パスを指定します:これは、
mongodumpにパスワードを指定する際に、パスワード プロンプトを使用して指定する以外で推奨される方法です。ファイル内の引数は任意に組み合わせて使用することができます。構成ファイルは以下の形式をとります。
password: <password>uri: mongodb://mongodb0.example.com:27017sslPEMKeyPassword: <password>uriを指定せずにpasswordオプションを指定する場合は、mongodumpコマンドラインオプションを使用して、--usernameや--hostなど、接続文字列の他のコンポーネントを指定できます。このファイルは、必ず適切なファイルシステム権限で保護してください。
重要
--configオプションを使用する際には、次の制限事項と動作にご注意ください。passwordフィールドを指定し、競合するパスワードを含む接続文字列をuriフィールドに指定した場合、mongorestoreはエラーをスローします。--configを使用して構成ファイルを指定し、かつ--password、--uri、または--sslPEMKeyPasswordmongodumpコマンドラインオプションも使用している場合、コマンドラインオプションは対応する構成ファイルオプションを上書きします。
--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オプションと非 SRV 接続文字列(mongodb://形式)直接接続するホストを指定するための
--hostオプション
--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を使用中に競合する情報を指定すると、エラーが発生します。
--sslTLS/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オプションを使用して、パスワードを含む構成ファイルを指定することを検討してください。
--sslAllowInvalidCertificatesサーバー証明書の検証チェックをバイパスし、無効な証明書を使用できるようにします。
allowInvalidCertificates設定を使用すると、MongoDB では無効な証明書の使用に対する警告としてログに記録されます。警告
--sslAllowInvalidCertificatesオプションは使用可能ですが、可能な限り使用しないでください。--sslAllowInvalidCertificatesの使用が必要な場合は、侵入が不可能なシステムでのみこのオプションを使用してください。サーバー証明書を検証せずに
mongodまたはmongosインスタンスに接続すると、潜在的なセキュリティ上のリスクが発生します。TLS/SSL 証明書のホスト名の検証を無効にするだけの場合は、--sslAllowInvalidHostnamesを参照してください。あるいは、
URI connection stringで証明書の検証を直接無効にすることもできます。接続文字列を提供すると同時に、--sslAllowInvalidCertificatesを使用中に競合する情報を指定すると、エラーが発生します。
--sslAllowInvalidHostnamesTLS/SSL 証明書のホスト名の検証を無効にします。証明書内のホスト名が指定されたホスト名と一致しない場合でも、
mongodumpによって MongoDB インスタンスへの接続が許可されます。あるいは、
URI connection stringでホスト名の検証を直接無効にすることもできます。--sslAllowInvalidHostnamesを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--username=<username>, -u=<username>認証を使用する MongoDB database への認証すに使用するユーザー名を指定します。
--password <mongodump --password>および--authenticationDatabase <mongodump --authenticationDatabase>オプションと組み合わせて使用します。あるいは、
URI connection stringでユーザー名を直接指定することもできます。--usernameを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。MONGODB-AWSauthentication mechanismを使用して MongoDB Atlas クラスターに接続する場合は、次の場所で AWS アクセス キー ID を指定できます。このフィールド
AWS_ACCESS_KEY_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-AWSauthentication mechanismを使用して MongoDB Atlas クラスターに接続する場合は、次の場所で AWS シークレットアクセスキーを指定できます。このフィールド
AWS_SECRET_ACCESS_KEY環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
警告
一部のシステムでは、
--passwordオプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のあるpsなどのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。--passwordオプションを省略し、インタラクティブなパスワード プロンプトを表示する--configオプションを使用して、パスワードを含む構成ファイルを指定します。
--awsSessionToken=<AWS Session Token>MONGODB-AWSauthentication mechanismを使用して MongoDB Atlas クラスターに接続し、AWS アクセスキー ID とシークレットアクセスキーに加えてセッション トークンを使用する場合は、次の場所に AWS セッション トークンを指定できます。このフィールド
AWS_SESSION_TOKENauthMechanismPropertiesパラメーターをconnection stringへ、またはAWS_SESSION_TOKEN環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
MONGODB-AWSauthentication mechanismを使用している場合にのみ有効です。
--authenticationDatabase=<dbname>指定済みの
--username <mongodump --username>が作成された認証データベースを指定します。詳細については、「認証データベース」を参照してください。認証データベースを指定しない場合、
mongodumpではエクスポート対象として指定されたデータベースがユーザー認証情報を保持していると想定されます。認証データベースまたはエクスポートするデータベースを指定しない場合、
mongodumpではadminデータベースがユーザー認証情報の格納先であると想定されます。GSSAPI (Kerberos)、PLAIN (LDAP SASL)、または
MONGODB-AWSauthentication mechanismsを使用する場合、--authenticationDatabaseを$externalに設定する必要があります。あるいは、
URI connection stringで認証データベースを直接指定することもできます。--authenticationDatabaseを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--authenticationMechanism=<name>デフォルト: SCRAM-SHA-1
mongodumpインスタンスが認証に使用する認証メカニズムとして、mongodまたはmongosを指定します。バージョン 100.1.0 での変更:
バージョン
100.1.0mongodump以降、MONGODB-AWSはMongoDB Atlasクラスターに接続するときに 認証メカニズムのサポートを追加します。値説明RFC5802 標準の Salted Challenge Response Authentication Mechanism。1
RFC7677 標準の Salted Challenge Response Authentication Mechanism。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を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--gssapiServiceNameGSSAPI/Kerberos を使用してサービスの名前を指定します。サービスがデフォルト名
mongodbを使用しない場合のみ必要となります。このオプションは MongoDB Enterprise でのみ使用できます。
あるいは、
URI connection stringでサービス名を直接指定することもできます。--gssapiServiceNameを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--gssapiHostNameGSSAPI/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" } } }'$regexをmongodumpと併用するには、次の構文を使用します。mongodump -d=sample_mflix -c=movies -q='{ "year": { "$regex": "20" } }'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を比較するクエリを検討してください。クエリが予想どおりのドキュメントを選択していることを確認します。注意
時系列コレクションで
--queryオプションを使用する場合、metaFieldと指定されているフィールドのみをクエリできます。
--queryFile=<path>mongodumpの出力に含まれるドキュメントを制限するクエリフィルターとして、JSON document を含むファイルへのパスを指定します。--queryFileを使用すると、ターミナルのバッファに収まらないほど大きなクエリフィルターを作成できます。注意
時系列コレクションで
--queryFileオプションを使用する場合、metaFieldと指定されているフィールドのみをクエリできます。
--readPreference=<string|document>デフォルト:
primarymongodumpの読み込み設定(read preference)を指定します。--readPreferenceには次のような選択肢があります。読み込み設定 (read preference) モードのみを指定する場合の文字列
--readPreference=secondaryモード、オプションの読み込み設定(read preference)タグセット、任意の maxStalenessSeconds を指定するために、次のとおり引用符で囲まれたドキュメント。
--readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}'maxStalenessSeconds の指定値は 90以上である必要があります。
mongodumpprimaryがデフォルトの読み込み設定(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>オプションと一緒に使用することはできません。
--oplogmongodump操作中に発生した oplog エントリをすべてキャプチャします。これにより、ダンプは単一の時点を反映します。mongodumpが oplog データをどこに配置するかは、出力ターゲットによって異なります。ディレクトリダンプの場合、
mongodumpはoplogエントリを出力ディレクトリの最上位にあるoplog.bsonファイルに書き込み (write)ます。アーカイブダンプの場合、アーカイブにはoplogエントリが含まれます。
復元する際は、
mongorestore --oplogReplayを使用して oplog エントリをリプレイします。mongodump --oplogとmongorestore --oplogReplayを併用すると、データが最新で、ダンプ中に発生したすべての書き込み (write) が含まれていることを確認できます。--oplogを使用しない場合に、ダンプ操作中に書き込みが行われると、そのダンプには特定の時点が反映されません。更新プロセス中にデータベースに変更を加えると、バックアップの出力に影響する可能性があります。書き込み (write) を受け入れながら個々のレプリカセットをバックアップするには、
--oplogを使用します。重要
--oplogを使って実行中のmongodumpは、ダンプ処理中にリストされたいずれかの操作指示がクライアントから出されると、失敗します。mapReduce(この操作は暗黙的にコレクションの名前を変更します)ユーザー、ロール、または権限を作成または変更する操作
setDefaultRWConcernおよびクラスター全体の設定を変更するその他のコマンド
--oplogは、mongosインスタンスでmongodumpを実行してシャーディングされたクラスターのコンテンツ全体をダンプしても効果はありません。--oplogoplog を維持するノードに対してのみ機能します。レプリカセットのすべてのノードもその一例です。--oplogは oplog コレクションをダンプしません。シャーディングされたクラスターでは、
--oplogを使用してmongodumpを実行することはできません。mongodumpを使用してシャードクラスターをバックアップするには、「データベース ダンプを使用して自己管理型のシャーディングされたクラスターをバックアップする」を参照してください。注意
mongodumpを--oplogと併用するには、レプリカ セット メンバーの完全なダンプを作成する必要があります。次のオプションを使ってダンプされるデータを制限する場合には、mongodumpは--oplogと併用できません。--db--collection--dumpDbUsersAndRoles--query
警告
時系列コレクションを持つ配置で
mongodump --oplogを実行している間は、MongoDB 8.x と MongoDB 9.0 の間で機能の互換性バージョン(FCV)を変更しないでください。結果のダンプは時系列形式の変換にまたがるため、mongorestore --oplogReplayでは再生できません。Database Tools 100.18.0 以降では、復元できないダンプが生成されるのではなく、
mongodumpが失敗します。詳細については、時系列形式変換における oplog のリプレイを参照してください。mongodump --oplogとmongorestore --oplogReplayを組み合わせて使用し、書き込みを受け入れながらコンシステントなバックアップを作成する包括的な例については、一貫性のあるバックアップ ファイルの作成と復元 を参照してください。
--dumpDbUsersAndRoles特定のデータベースで
mongodumpを実行時に、ユーザー定義とロール定義がデータベースのダンプ ディレクトリに追加されます。このオプションが適用されるのは、--dbオプションでデータベースを指定した場合に限定されます。MongoDB では、特定データベースだけでなくインスタンス全体にmongodumpが適用される場合は、常にユーザー定義とロール定義が追加されます。
--excludeCollection=<string>mongodump出力から指定コレクションを除外します。複数のコレクションを除外するには、--excludeCollectionを複数回指定します。--excludeCollectionオプションを使用するには、データベースを指定する必要があります。データベースは、--dbオプションまたは--uri接続文字列で指定することができます。
--excludeCollectionsWithPrefix=<string>mongodump出力から指定プレフィックスを持つすべてのコレクションを除外します。複数のプレフィックスを指定するには、--excludeCollectionsWithPrefixを複数回指定します。--excludeCollectionsWithPrefixオプションを使用するには、データベースを指定する必要があります。データベースは、--dbオプションまたは--uri接続文字列で指定することができます。
--viewsAsCollectionsこのオプションを指定すると、
mongodumpではビューがコレクションとしてエクスポートされます。注意
ビューのみがエクスポートされます。
mongodumpのデフォルト設定では、ビューのメタデータのみがエクスポートされます。ビュー内のドキュメントをエクスポートするには、--viewsAsCollectionsオプションを使用します。mongodumpではビューごとに、そのビューのドキュメントを含む BSON ファイルが作成されます。mongodumpによって作成された BSON ファイルとともにmongorestoreを使用すると、ビューはコレクションとして復元されます。--viewsAsCollectionsを含めない場合、mongodumpでは各ビューのメタデータがキャプチャされます。mongorestore操作にビューのメタデータ ファイルを含めると、ビューが再作成されます。
--compressors=<string>mongodumpがmongodumpクライアントと MongoDB サーバー間のネットワーク通信に使用する圧縮アルゴリズムを指定します。--compressorsオプションには、これらの値を 1 つ以上使用できます。snappyzlibzstd
複数の圧縮アルゴリズムを指定した場合、
mongodumpはMongoDBデプロイでサポートされているリスト内の最初の 1 つを使用します。コンプレッサーの詳細については、 Goドライバー ネットワーク圧縮ドキュメント を参照してください。
詳細
mongodump の詳細については、以下を参照してください。
チュートリアルについては、「データベース ダンプを使用して自己管理型シャーディングされたクラスターをバックアップする 」を参照してください。
TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。