警告
Windows や macOS など、大文字と小文字を区別しないファイル システムにダンプすると、名前が大文字と小文字のみが異なるコレクションは上書きされます。 大文字と小文字を区別しないファイル システムの場合は、常に --archiveオプションを使用します。
警告
データダンプと復元でのフィールドの $ プレフィックスとの競合
MongoDB 5.0以降、ドキュメントフィールド名の前にドル記号( $ )を付けることができます。 ただし、コレクションのオプションにおいてドル記号が先頭に付いているフィールド名では、 mongodumpとmongorestoreは機能しません。
MongoDB 拡張 JSON(v 2 )は、type wrapper と、type wrapper と同じ名前を持つフィールドを区別できません。 対応する BSON 表現に$プレフィックス付きキーが含まれる可能性がある場合は、拡張 JSON 形式を使用しないでください。 DBRefsメカニズムは、この一般ルールの例外です。
動作
なしで を使用mongodumpauthSource
MongoDB URI でauthSourceが指定されていない場合、 --dbで指定されたデータベース名は、 mongodumpセッションの認証とダンプされるデータベースを示す両方に使用されます。 mongodumpを使用する際に認証に別のデータベースを使用する例については、「特定のデータベースによる認証 」を参照してください。
一致するサーバー バージョンへの復元
mongorestoreを使用してmongodumpによって作成されたデータファイルを読み込む場合、ソース配置と宛先配置の MongoDB バージョンは次のいずれかである必要があります。
同一メジャー バージョン。
同一機能互換バージョン。
たとえば、ダンプの作成元が 4.4 を実行中のMongoDB 配置であった場合、復元先となる MongoDB 配置でも、バージョン 4.4 を実行しているか、FCV を 4.4 に設定している必要があります。
機能の互換性バージョンを変更するには、 setFeatureCompatibilityVersionを参照してください。
注意
mongodump から生成された BSON ファイルは、復元元と同じかそれ以降のバージョンを実行中の MongoDB 配置に復元できます。ただし、新しいバージョンの配置へのファイルの復元は、配置のアップグレード方法としては推奨されていません。配置のアップグレード方法については、アップグレードのドキュメントを参照してください。
この保証は、メタデータ、アーカイブ、または oplog リプレイ ファイルには適用されません。復元元と復元先の配置バージョンが異なる状態でこれらのファイルを復元しようとすると、mongorestore プロセスに失敗したり、サイレント障害が発生したり、メタデータが破損したりする可能性があります。
さらに、データファイルをロードするには、 mongorestoreのバージョンが、データファイルの作成に使用したmongodumpのバージョンと同じであることを確認してください。 たとえば、 mongodumpバージョン100.13.0を使用してダンプを作成した場合、それを復元するにはmongorestoreバージョン100.13.0を使用します。
読み込み設定 (read preference)
デフォルトでは、 mongodumpは読み込み設定(read preference primaryを使用します。 デフォルトを上書きするには、 コマンドライン オプションまたは --readPreferenceで読み込み設定( read preference--uri connection string )を指定します。
URI string と--readPreferenceオプションの両方で読み取り設定が指定されている場合、 --readPreferenceの値が URI string で指定された読み取り設定よりも優先されます。
データの除外
--db } オプションと--collectionオプションの両方を指定すると、 mongodumpは指定されたコレクションをダンプします。
--dbオプションのみを指定すると、 mongodumpはそのデータベースを次の除外でダンプします。
--dbの値がadminの場合:Atlas プロキシに接続していない場合、
mongodumpはデータベースをダンプしますが、system.keysコレクションは除外されます。Atlas プロキシに接続している場合、
mongodumpはデータベースをダンプしようとしますが、エラーが発生します。
--dbの値がconfigの場合、mongodumpはそのデータベース内のすべてのコレクションをダンプします。--dbの値がlocalの場合、mongodumpはそのデータベース内のすべてのコレクションをダンプします。他のすべてのデータベースでは、
mongodumpはsystem.で始まるすべてのコレクションを除外します(system.jsを除く)。
--dbオプションを省略すると、次の除外が適用されます。
mongodumplocalデータベースを除外します。mongodumpでは、configデータベースの出力に次のコレクションのみが含まれます。chunkscollectionsdatabasessettingsshardstagsversion
Atlas プロキシに接続している場合、
mongodumpはadminデータベースを除外します。
mongodump output:
データベース内のドキュメントとインデックス定義が含まれます。
インデックス データは含まれません。
mongorestoreまたはmongodは、データ復元後にインデックスを再構築する必要があります。
デフォルトでは、
mongodumpはビューのメタデータのみをエクスポートします。mongodumpでは、ビューに含まれるドキュメントのバイナリ エクスポートは作成されません。ビュー内のドキュメントをエクスポートするには、
--viewsAsCollectionsを使用します。
Metadata Output
mongodumpの出力がディレクトリに出力される場合、出力には次のプロパティを含むコレクション メタデータが含まれます。
コレクション名
コレクションの種類
コレクション構成オプション
UUID
Indexes
mongodumpの出力が標準出力( stdout )に出力される場合、出力にはメタデータは含まれません。 詳しくは、 --outオプションを参照してください。
Metadata Format
mongodump メタデータ ファイルにExtended JSON v 2.0 (標準)形式を使用します。 これらのファイルを解析して復元するには、mongorestore 拡張 JSON v をサポートする を使用します。2 0(標準モードまたは緩和モード) 形式。
ファイルの上書き
mongodump はバックアップ データ フォルダーに出力ファイルがある場合は、そのファイルを上書きします。 mongodumpコマンドを複数回実行する前に、出力フォルダー(デフォルトはdump/フォルダー)のファイルが不要であることを確認するか、フォルダーまたはファイルの名前を変更してください。
mongodump リシャーディング中
mongodump 次の場合に失敗します。
mongodumpは、再シャーディング操作の進行中に開始されます。reshardCollectionコマンドはmongodump操作中に実行されます。
データ圧縮処理
WiredTigerストレージ エンジンを使用するmongodインスタンスで実行すると、 mongodumpは非圧縮データを出力します。
ワーキングセット
mongodump は、 mongodのパフォーマンスに悪影響を与える可能性があります。 データがシステムメモリより大きい場合、 mongodumpはワーキングセットをメモリからプッシュします。
FIPS
mongodump は、 FIPS モードを使用するように構成されたmongodまたはmongosへの FIPS 準拠の接続を自動的に作成します。
Atlas の無料層クラスターと共有層クラスターでの の使用mongodump
無料(M0)層および共有(M2 と M5)層の Atlas クラスターでは、次の制限が適用されます。
adminデータベースではmongodumpを実行できません。 デフォルトでは、mongodumpはこのデータベースをスキップします。--dbオプションを使用して宛先データベースをadminに設定すると、プログラムはエラーを返します。mongodumpプログラムでは、次のオプションは使用できません。
注意
ターゲット クラスターのロールバック
復元プロセス中にクラスターがロールバックした場合は、復元されたデータまたはインポートされたデータをすべて削除し、プロセスを最初からやり直してください。 詳細については、 ロールバックに関するドキュメント を参照してください。
必要なアクセス権
アクセス制御が有効になっている MongoDB 配置に対してmongodumpを実行するには、バックアップするデータベースごとにfindアクションを許可する特権が必要です。 組み込みのbackupロールは、任意のデータベースのバックアップを実行するために必要な特権を提供します。
バックアップ戦略での使用
スタンドアロン配置とレプリカセット
スタンドアロンまたはレプリカセットの場合、 mongodumpは、クエリに基づく部分的なバックアップ、本番環境からステージングまたは開発環境への同期、またはスタンドアロンのストレージ エンジンの変更に対してmongorestoreを使用したバックアップ戦略の一部になることができます。
バックアップおよび復旧戦略の一環としてmongorestoreとmongodumpを使用する方法の詳細については、以下をご覧ください。
シャーディングされたクラスター
mongodumpとmongorestoreをシャーディングされたクラスターのバックアップ戦略として使用するには、「データベース ダンプを使用した自己管理型シャーディングされたクラスターのバックアップ 」を参照してください。
シャーディングされたクラスターではバックアップと復元に次のいずれかの連携的なプロセスも利用できます。これにより、書込みを受け入れながらシャード間のアトミック性が保証されます。