このドキュメントは、mongorestore のバージョン 100.13.0 用です。
定義
mongorestore プログラムは、mongodump によって作成されたバイナリのデータベース ダンプ、または標準入力からデータを読み込み、mongod または mongos インスタンスにロードします。mongorestore は、MongoDB Database Tools をインストールするとインストールされます。
MongoDB データベースツールを使用して、セルフホスト型配置から MongoDB Atlas へ移行できます。MongoDB Atlas は、MongoDB をクラウドに配置するためのフルマネージド サービスです。詳細については、「mongorestore でのシード処理」を参照してください。
MongoDB Atlas への移行方法については、「データの移行またはインポート」を参照してください。
mongodump から生成された BSON ファイルは、復元元と同じメジャー バージョンまたは機能の互換性バージョンを実行している MongoDB 配置に復元できます。
mongorestore には次のような動作と制限があります。
mongorestoreは MongoDB シェルではなく、システム コマンドラインから実行する必要があります。MongoDB は、同じコレクションに対して複数の
mongorestoreプログラムを同時に実行することをサポートしていません。Queryable Encryptionを使用するコレクションでは
mongorestoreは使用できません。
構文
mongorestoreを実行する際は、次のコマンド構文を使用します。
mongorestore <options> <connection-string> <directory or file to restore>
mongorestoreを実行する際に使用できるオプションについては、「オプション」をご覧ください。
引数なしで mongorestore を実行すると、デフォルト設定では、ローカル ./dump ディレクトリからポート 27017 で稼働中のローカルmongod インスタンスにデータを復元します。
mongorestore
別のパスにある dumpディレクトリを指定することもできます。例として、次のコマンドは、./downloads/dump のディレクトリから接続文字列で指定された Atlas クラスターにデータを復元します。
mongorestore --uri="<my-connection-string>" ./downloads/dump
mongorestore は、指定されたディレクトリから復元する際、必要に応じてデータベースとコレクションを作成し、進行状況をログに記録します。
2019-07-08T14:37:38.942-0400 preparing collections to restore from 2019-07-08T14:37:38.944-0400 reading metadata for test.bakesales from dump/test/bakesales.metadata.json 2019-07-08T14:37:38.944-0400 reading metadata for test.salaries from dump/test/salaries.metadata.json 2019-07-08T14:37:38.976-0400 restoring test.salaries from dump/test/salaries.bson 2019-07-08T14:37:38.985-0400 no indexes to restore 2019-07-08T14:37:38.985-0400 finished restoring test.salaries (10 documents, 0 failures) 2019-07-08T14:37:39.009-0400 restoring test.bakesales from dump/test/bakesales.bson 2019-07-08T14:37:39.011-0400 restoring indexes for collection test.bakesales from metadata 2019-07-08T14:37:39.118-0400 finished restoring test.bakesales (21 documents, 0 failures) 2019-07-08T14:37:39.118-0400 restoring users from dump/admin/system.users.bson 2019-07-08T14:37:39.163-0400 restoring roles from dump/admin/system.roles.bson 2019-07-08T14:37:39.249-0400 31 document(s) restored successfully. 0 document(s) failed to restore.
dump ディレクトリから特定のコレクション(複数可)を復元することもできます。次の操作の例では、test.purchaseorders コレクションを dump ディレクトリ内の対応するデータファイルから復元します。
mongorestore --nsInclude=test.purchaseorders ./dump
dump ディレクトリに指定された名前空間に対応するデータファイルが含まれていない場合、mongorestore はデータを復元しません。次のコマンド例では、dump ディレクトリに対応するデータがないコレクション名前空間が指定されています。
mongorestore --nsInclude=foo.bar dump/
mongorestore は次のメッセージを出力します。
2019-07-08T14:38:15.142-0400 preparing collections to restore from 2019-07-08T14:38:15.142-0400 0 document(s) restored successfully. 0 document(s) failed to restore.
その他の mongorestore の例については、「mongorestore の例」をご覧ください。
オプション
このセクションには、mongorestoreで利用可能なすべてのオプションに関する情報が含まれています。
--archive=<file>mongodump --archiveによって作成されたアーカイブから復元します。mongorestoreは、指定されたアーカイブファイルから復元します。ファイルを指定しない場合は、標準入力(stdin)から復元します。アーカイブ ファイルから復元するには、
--archiveオプションとアーカイブ ファイル名を指定してmongorestoreを実行します。標準入力から復元するには、
--archiveオプションを指定してmongorestoreを実行し、ファイル名を省略します。次の例は、標準入力から復元する方法を示しています。
mongodump --archive | mongorestore --archive このコマンドパイプラインは、まず
--archiveフラグを使用してmongodumpを実行します。これにより、その出力はstdoutまたは標準出力に出力されます。次に、入力は|パイプ演算子を使用してmongorestoreの標準入力にパイプされます。重要
--archiveオプションをダンプディレクトリを指定する--dirオプションと一緒に使用することはできません。--dbアーカイブファイルから復元する場合、--collectionと オプションは非推奨です。特定のデータベースまたはコレクションを復元するには、--nsIncludeを使用します。--archiveオプションを<path>パラメーターと共に使用した場合、mongorestoreは<path>を無視します。
--authenticationDatabase=<dbname>指定された
--usernameが作成された認証データベースを指定します。--usernameオプションおよび--passwordオプションと組み合わせて使用します。認証データベースの詳細については、「認証データベース」を参照してください。
GSSAPI(Kerberos)、PLAIN(LDAP SASL)、または
MONGODB-AWSauthentication mechanismsを使用する場合は、--authenticationDatabaseを$externalに設定する必要があります。あるいは、
URI connection stringで認証データベースを直接指定することもできます。--authenticationDatabaseを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--authenticationMechanism=<name>デフォルト: SCRAM-SHA-1
mongorestoreインスタンスがmongodまたはmongosへの認証に使用する認証メカニズムを指定します。バージョン 100.1.0 での変更: バージョン
100.1.0以降、MongoDB Atlas クラスターへの接続時にMONGODB-AWS認証メカニズムのサポートがmongorestoreに追加されます。値説明RFC 5802 標準の Salted Challenge Response Authentication Mechanism(SHA-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を使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--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を使用している場合にのみ有効です。
--bypassDocumentValidationmongorestoreが操作中にドキュメントの検証をバイパスできるようにします。これにより、検証要件を満たさないドキュメントを挿入できるようになります。
--collection=<collection>, -c=<collection>重要
ディレクトリまたは アーカイブファイルから復元する場合、
--dbと--collectionオプションの使用は推奨されません。アーカイブまたはディレクトリから特定のデータベースまたはコレクションを復元するには、--nsIncludeを参照してください。BSON ファイルからの復元時にデータを読み込む
mongorestoreの復元先コレクション名を指定します。--collectionを指定しない場合、mongorestoreは入力ファイル名からコレクション名を取得します。入力ファイルに拡張子がある場合、コレクション名ではその拡張子は省略されます。mongorestore --db=reporting --collection=employeesalaries dump/test/salaries.bson
--compressors=<string>mongodumpがmongorestoreクライアントと MongoDB サーバー間のネットワーク通信に使用する圧縮アルゴリズムを指定します。--compressorsオプションには、これらの値を 1 つ以上使用できます。snappyzlibzstd
複数の圧縮アルゴリズムを指定した場合、
mongorestoreはMongoDBデプロイでサポートされているリスト内の最初の 1 つを使用します。コンプレッサーの詳細については、 Goドライバー ネットワーク圧縮ドキュメント を参照してください。
--config=<filename>バージョン 100.3.0 の新機能。
次の
mongorestoreオプションの機密値を含む YAML 構成ファイルへのフル パスを指定します:これは、
mongorestoreにパスワードを指定する際に、パスワード プロンプトを使用して指定する以外で推奨される方法です。ファイル内の引数は任意に組み合わせて使用することができます。構成ファイルは以下の形式をとります。
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> uriを指定せずにpasswordオプションを指定する場合は、mongorestoreコマンドラインオプションを使用して、--usernameや--hostなど、接続文字列の他のコンポーネントを指定できます。このファイルは、必ず適切なファイルシステム権限で保護してください。
重要
--configオプションを使用する際には、次の制限事項と動作にご注意ください。passwordフィールドを指定し、競合するパスワードを含む接続文字列をuriフィールドに指定した場合、mongorestoreはエラーをスローします。--configを使用して構成ファイルを指定し、さらに--password、--uri、または--sslPEMKeyPasswordmongorestoreコマンドラインオプションを使用すると、コマンドラインオプションによって対応する構成ファイルオプションがオーバーライドされます。
--convertLegacyIndexesバージョン100.0.0の新機能。
対応する
mongodump出力で指定された無効なインデックス オプションをすべて排除し、レガシー インデックス キーの値を有効な値に書き換えます。無効なインデックス オプションとは、
createIndexesコマンドの有効フィールドとしてリストされていないインデックス専用のオプションです。たとえば、nameとcollationは有効ですが、無作為のcustom_fieldは有効ではありません。--convertLegacyIndexesが指定されている場合、見つかった無効なインデックス オプションはすべて削除されます。レガシー インデックス キー値とは、サポートされなくなったインデックス タイプの値です。たとえば、
1と-1は有効なインデックス キー値ですが、0または空の文字列はレガシー値です。--convertLegacyIndexesが指定されている場合、見つかったレガシー インデックス キー値は1に書き換えられます。空でない文字列の値は書き換えられません。
--convertLegacyIndexesオプションが指定されていない場合、無効なインデックス オプションまたはレガシー インデックス キーの値が存在すると、インデックス構築が失敗する可能性があります。--noIndexRestoreオプションがmongorestoreに指定されている場合、--convertLegacyIndexesオプションは無視されます。
--db=<database>, -d=<database>重要
ディレクトリまたは アーカイブファイルから復元する場合、
--dbと--collectionオプションの使用は推奨されません。アーカイブまたはディレクトリから特定のデータベースまたはコレクションを復元するには、--nsIncludeを参照してください。BSON ファイルからデータを復元するときに、
mongorestoreにデータの復元先のデータベースを指定します。データベースが存在しない場合は、mongorestoreによりデータベースが作成されます。次の例では、salariesコレクションをreportingデータベースに復元しています。mongorestore --db=reporting dump/test/salaries.bson --dbを指定しない場合、mongorestoreはデータファイルからデータベース名を読み取ります。あるいは、
URI connection stringでデータベースを直接指定することもできます。--dbを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--dir=stringダンプ ディレクトリを指定します。
--dirオプションとダンプ ディレクトリも指定する<path>引数の両方をmongorestoreに指定することはできません。--archiveオプションを--dirオプションと一緒に使用することはできません。
--dropダンプされたバックアップからコレクションを復元する前に、復元先のデータベースからコレクションを削除します。バックアップに含まれていないコレクションは、
--dropによって削除されません。復元に
adminデータベースが含まれている場合、mongorestoreは--dropを使用してすべてのユーザー認証情報を削除し、ダンプファイルで定義されたユーザーに置き換えます。そのため、authorizationが有効なシステムでは、mongorestoreは既存のユーザーおよびダンプファイルで定義されたユーザーの両方に対して認証できる必要があります。mongorestoreがダンプファイルで定義されたユーザーに対して認証できない場合、復元プロセスは失敗し、空のデータベースが残ります。コレクションが復元過程で削除、再作成される場合、新たに作成されるコレクションの UUID は、
--dropが--preserveUUIDと併用されない限り、異なるものになります。
--dryRunデータを実際にインポートせずに
mongorestoreを実行し、mongorestoreサマリー情報を返します。より詳細なサマリー情報を生成するには、--verboseを一緒に使用します。
--fixDottedHashIndexドット表記されたフィールドのすべてのハッシュインデックスを、ターゲットデータベースの 1 つのフィールドの昇順インデックスとして作成します。
--gssapiHostName=<hostname>GSSAPI/Kerberos を使用してサービスのホスト名を指定します。マシンのホスト名が DNS で解決されたホスト名と一致しない場合にのみ必要となります。
このオプションは MongoDB Enterprise でのみ使用できます。
--gssapiServiceName=<serviceName>GSSAPI/Kerberos を使用してサービスの名前を指定します。サービスがデフォルト名
mongodbを使用しない場合のみ必要となります。このオプションは MongoDB Enterprise でのみ使用できます。
--gzipmongodump --gzipによって作成された圧縮ファイルまたはデータ ストリームから復元します。圧縮ファイルを含むダンプ ディレクトリから復元するには、
--gzipオプションを指定してmongorestoreを実行します。圧縮されたアーカイブ ファイルから復元するには、
--gzipオプションと--archiveオプションの両方を指定してmongorestoreを実行します。
--host=<hostname><:port>, -h=<hostname><:port>デフォルト: localhost:27017
MongoDB 配置の解決可能なホスト名を指定します。デフォルトでは、
mongorestoreによってポート番号27017のローカルホストで実行されている MongoDB インスタンスに接続しようとします。レプリカセットに接続するには、
replSetNameとセットノードのシードリストを次のように指定します。--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> レプリカセット リスト形式を指定する場合、
mongorestoreは常にプライマリに接続します。また、レプリカセットの任意の 1 つのノードに接続するには、そのノードのみのホストとポートを指定します。
--host=<hostname1><:port> IPv6 を使用し、
<address>:<port>形式を使用する場合は、アドレスとポートの組み合わせの一部を括弧で囲む必要があります(例:[<address>])。あるいは、
URI connection stringでホスト名を直接指定することもできます。--hostを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--maintainInsertionOrderデフォルト: false
指定した場合、
mongorestoreは、入力ソースに出現する順序でドキュメントを挿入します。つまり、一括書き込み (write) バッチの順と、バッチ内のドキュメント順の両方が維持されます。--maintainInsertionOrderを指定することで--stopOnErrorも有効になり、numInsertionWorkersPerCollectionは 1 に設定されます。指定されていない場合、
mongorestoreが、無作為な順序で挿入を実行する可能性があります。
--noIndexRestore対応する
mongodump出力で指定されているように、mongorestoreがインデックスを復元および構築するのを防ぎます。
--noOptionsRestoremongorestoreが復元されたコレクションに対してcollModデータベースコマンドによって指定されたコレクション オプションを設定するのを防ぎます。
--nsExclude=<namespace pattern>名前空間パターン(例:
"test.myCollection"、"reporting.*"、"dept*.bar")を指定して、一致する名前空間を復元対象から除外します。このパターンでは、ワイルドカードとしてアスタリスク*を使用できます。ワイルド カード パターンの例については、「ワイルドカードを使用したコレクションの復元」を参照してください。--nsExcludeを複数回指定回指定することで、複数の名前空間パターンを除外することができます。--nsExcludeと--nsIncludeの両方を指定する場合は、--nsExcludeが指定するパターンが優先されます。 例、--nsExclude="prod.*"と--nsInclude="prod.trips"の両方を指定した場合、prod名前空間のコレクションは復元されません。
--nsFrom=<namespace pattern>--nsToを使用して、復元操作中に名前空間の名前を変更します。--nsFromはダンプファイル内のコレクションを指定し、--nsToは復元されたデータベースで使用する名前を指定します。--nsFromは名前空間パターンを引数として受け入れます。名前空間パターンにより--nsFromは指定パターンに一致する任意の名前空間を参照できます。mongorestoreは、名前空間パターンの最小の有効な出現と一致します。単純な置換の場合は、ワイルド カードとしてアスタリスク(
*)を使用します。すべてのリテラルのアスタリスクとバックスラッシュを、バックスラッシュでエスケープします。置換は一致に対して順次に対応します。--nsFromの各アスタリスクは--nsToのアスタリスクに対応し、--nsFromの最初のアスタリスクはnsToの最初のアスタリスクと一致する必要があります。より複雑な置き換えでは、使用する「ワイルドカード」変数をドル記号で区切ります。このワイルドカードを使った複雑な置き換えの例については、「復元中のコレクションの名前空間の変更」を参照してください。
アスタリスクによる置換とは異なり、ドル記号で区切られたワイルド カードの置換は順次対応する必要はありません。
--nsInclude=<namespace pattern>名前空間パターン(例:
"test.myCollection"、"reporting.*"、"dept*.bar")を指定して、パターンに一致する名前空間のみを復元します。このパターンでは、ワイルドカードとしてアスタリスク*を使用できます。ワイルド カード パターンの例については、「ワイルドカードを使用したコレクションの復元」を参照してください。複数の名前空間パターンを含めるには、
--nsIncludeを複数回指定できます。ソース ディレクトリまたはファイル(つまり、データの復元元のディレクトリ/ファイル)に名前空間パターンと一致するデータファイルが含まれていない場合、データは復元されません。
コレクション名に非 ASCII 文字が含まれている場合、
mongodumpは、対応するファイル名をパーセント エンコードされた名前で出力します。ただし、これらのコレクションを復元する場合は、エンコードされた名前を使用しないでください。代わりに、非 ASCII 文字を含む名前空間を使用してください。たとえば、ダンプ ディレクトリに
dump/test/caf%C3%A9s.bsonが含まれている場合は、--nsInclude "test.cafés"と指定します。--nsExcludeと--nsIncludeの両方を指定する場合は、--nsExcludeが指定するパターンが優先されます。 例、--nsExclude="prod.*"と--nsInclude="prod.trips"の両方を指定した場合、prod名前空間のコレクションは復元されません。
--nsTo=<namespace pattern>--nsFromを使用して、復元操作中に名前空間の名前を変更します。--nsToは復元されたデータベースで使用する新しいコレクション名を、--nsFromはダンプファイル内の名前を指定します。--nsToは名前空間パターンを引数として受け入れます。名前空間パターンにより--nsToは指定パターンに一致する任意の名前空間を参照できます。mongorestoreは、名前空間パターンの最小の有効な出現と一致します。単純な置換の場合は、ワイルド カードとしてアスタリスク(
*)を使用します。すべてのリテラルのアスタリスクとバックスラッシュを、バックスラッシュでエスケープします。置換は一致に対して順次に対応します。--nsFromの各アスタリスクは--nsToのアスタリスクに対応し、--nsFromの最初のアスタリスクはnsToの最初のアスタリスクと一致する必要があります。より複雑な置き換えでは、使用する「ワイルドカード」変数をドル記号で区切ります。このワイルドカードを使った複雑な置き換えの例については、「復元中のコレクションの名前空間の変更」を参照してください。
アスタリスクによる置換とは異なり、ドル記号で区切られたワイルド カードの置換は順次対応する必要はありません。
--numInsertionWorkersPerCollection=<int>デフォルト: 1
コレクションごとに同時に実行する挿入ワーカーの数を指定します。
大規模なインポートの場合、挿入ワーカーの数を増やすとインポートが迅速化する可能性があります。
--numParallelCollections=<int>, -j=<int>デフォルト: 4
mongorestoreが並行して復元すべきコレクションの数。単一コレクションの復元時に、
-jを指定すると、-jは--numParallelCollectionsではなく--numInsertionWorkersPerCollectionオプションにマッピングされます。
--objcheckクライアントからのすべてのリクエストについて、受信時に
mongorestoreに検証を強制して、クライアントがデータベースに無効なドキュメントを挿入しないようにします。サブドキュメントのネストが深いオブジェクトの場合、--objcheckによってパフォーマンスに若干影響が出る可能性があります。
--oplogFile=<path>復元用の oplog データを含む oplog ファイルへのパスを指定します。
--oplogReplayと併用します。--oplogFileを指定した場合にダンプ ディレクトリの最上位にoplog.bsonファイルがあると、mongorestoreからエラーが返されます。警告
oplogFileの使用には注意が必要です。適用する oplog エントリを手動で指定すると、復元データの破損や不整合につながる恐れがあります。
--oplogLimit=<timestamp>mongorestoreが oplog エントリを<timestamp>以降のタイムスタンプで適用しないようにします。<timestamp>の値は<time_t>:<ordinal>の形式で指定します。ここで<time_t>は UNIX エポック後の秒数、<ordinal>は指定秒数内に発生した oplog 内の操作カウンターを示します。警告
oplogLimitの使用には注意が必要です。適用する oplog エントリを手動で指定すると、復元データの破損や不整合につながる恐れがあります。--oplogLimitは--oplogReplayオプションと組み合わせて使用する必要があります。
--oplogReplayデータベース ダンプの復元後に、
oplog.bsonファイルから oplog エントリを再生します。復元時に
oplog.bsonファイルから oplog エントリを適用するには、mongorestore --oplogReplayを使用します。データが最新で、ダンプ操作中に発生したすべての書き込みが含まれていることを確認するには、mongodump --oplogをmongorestore --oplogReplayと併用します。mongorestore次のロケーションで BSON ファイルの有効なソースの検索も使用します。mongodump --oplogで作成されたダンプの場合と同様に、最上位のダンプ ディレクトリです。mongodump --oplog--oplogFileで指定されるパス。<dump-directory>/local/oplog.rs.bson。たとえば、レプリカセットのノードである mongod上のlocalデータベース内のoplog.rsコレクションのダンプの場合などです。
oplog.bsonファイルがダンプ ディレクトリの最上位にあり、かつパスが--oplogFileで指定されている場合には、mongorestoreからエラーが返されます。ダンプ ディレクトリの最上位に
oplog.bsonファイルがある場合、mongorestoreは、そのファイルを oplog として復元します。dump/localディレクトリに bson ファイルもある場合、mongorestoreは、通常のコレクションと同様にそれらを復元します。--oplogFileを使用して oplog ファイルを指定すると、mongorestoreではそのファイルは oplog として復元されます。dump/localディレクトリに bson ファイルもある場合、これらのファイルはmongorestoreで通常のコレクションと同様に復元されます。oplog replay 出力の次のメッセージは、oplog replay の前の挿入数を示しています。リプレイ中に行われた挿入は含まれません。
0 document(s) restored successfully. 0 document(s) failed to restore. --oplogReplayの例については、「Oplog ファイルを使用したデータのバックアップと復元」を参照してください。注意
mongorestoreを使用して--oplogReplayでレプリカセットを復元する場合、mongodump --oplogを使用して作成されたレプリカセットノードの完全なダンプを復元する必要があります。次のオプションのいずれかを使用して復元するデータを制限する場合、mongorestoreと--oplogReplayは併用できません。
--password=<password>, -p=<password>認証を使用する MongoDB データベースに対して認証するためのパスワードを指定します。
--usernameオプションおよび--authenticationDatabaseオプションと組み合わせて使用します。ユーザーにパスワードの入力を求めるには、
--usernameオプションを--passwordなしで渡すか、--password=""のように--passwordの値に空の文字列を指定します。あるいは、
URI connection stringでパスワードを直接指定することもできます。--passwordを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。MONGODB-AWSauthentication mechanismを使用して MongoDB Atlas クラスターに接続する場合は、次の場所で AWS シークレットアクセスキーを指定できます。このフィールド
AWS_SECRET_ACCESS_KEY環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
警告
一部のシステムでは、
--passwordオプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のあるpsなどのシステム ステータス プログラムに表示される場合があります。そのため、次の代替策を検討しましょう。--passwordオプションを省略し、インタラクティブなパスワード プロンプトを表示する--configオプションを使用して、パスワードを含む構成ファイルを指定します。
<path>データを復元するディレクトリ パスまたは BSON ファイル名です。
<path>引数とダンプ ディレクトリも指定する--dirオプションの両方をmongorestoreに指定することはできません。
--port=<port>デフォルト: 27017
MongoDB インスタンスがクライアント接続のためにリッスンする TCP ポートを指定します。
あるいは、
URI connection stringでポートを直接指定することもできます。--portを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。
--preserveUUID復元の一環で削除、再作成されたコレクションに対して新しい UUID が作成されるのではなく、復元されたコレクションには復元データの UUID が使用されます。
--preserveUUIDを使用するには、--dropオプションも含める必要があります。
--quiet出力量を制限する quiet モードで
mongorestoreを実行します。このオプションにより次の項目が抑制されます。
errors
データベースコマンドからの出力
レプリケーション アクティビティ
接続を受け付けたイベント
接続を終了したイベント
--restoreDbUsersAndRoles指定されたデータベースのユーザーとロールの定義を復元します。詳細については、system.roles コレクションおよび system.users コレクションを参照してください。
注意
データベースダンプは、
--dumpDbUsersAndRolesオプションで作成された場合にのみ、--restoreDbUsersAndRolesを使用できます。--db adminを指定してadminデータベースを復元すると、すべてのユーザーとロールが自動的に復元されます。adminデータベースで--restoreDbUsersAndRolesを使用することはできません。そのような操作を試みるとエラーが発生します。
--sslTLS/SSL サポートが有効になっている
mongodまたはmongosへの接続を有効にします。あるいは、
URI connection stringで TLS/SSL サポートを直接構成することもできます。--sslを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。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 構成」を参照してください。
--sslAllowInvalidHostnamesTLS/SSL 証明書のホスト名の検証を無効にします。証明書内のホスト名が指定されたホスト名と一致しない場合でも、
mongorestoreによって MongoDB インスタンスへの接続が許可されます。あるいは、
URI connection stringでホスト名の検証を直接無効にすることもできます。--sslAllowInvalidHostnamesを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。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 構成」を参照してください。
--sslCRLFile=<filename>証明書失効リストを含む
.pemファイルを指定します。相対パスまたは絶対パスを使用して.pemファイルのファイル名を指定します。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オプションは、証明書キーファイルが暗号化されている場合にのみ使用してください。いずれの場合も、mongorestoreはログおよびレポート出力でパスワードを非表示にします。PEM ファイル内の秘密キーが暗号化されており、
--sslPEMKeyPasswordオプションを指定しない場合は、mongorestoreによってパスフレーズの入力が求められます。詳しくは、「TLS/SSL 証明書のパスフレーズ」を参照してください。あるいは、
URI connection stringでパスワードを直接指定することもできます。--sslPEMKeyPasswordを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。TLS/SSL と MongoDB の詳細については、「TLS/SSL 用に mongod と mongos を構成する」と「クライアントの TLS/SSL 構成」を参照してください。
警告
一部のシステムでは、
--sslPEMKeyPasswordオプションを使用して直接提供されたパスワードは、他のユーザーによって呼び出される可能性のあるpsなどのシステム ステータス プログラムに表示される場合があります。代わりに--configオプションを使用して、パスワードを含む構成ファイルを指定することを検討してください。
--stopOnErrorエラーに遭遇すると、
mongorestoreは復元を中止するよう強制します。mongorestoreのデフォルト設定では、キーの重複とドキュメント検証エラーが発生しても復元処理は続行されます。こうしたエラー発生時にプログラムが停止するようにするには、--stopOnErrorを指定します。
--uri=<connectionString>MongoDB 配置の解決可能な URI 接続文字列 を引用符で囲んで指定します。
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" mongorestoreのバージョン100.0以降、接続文字列は、--uriオプションを使用せずに、位置パラメータとして入力することもできます。mongorestore mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 接続文字列は、位置指定パラメータとして
mongodb://またはmongodb+srv://で始まっている限り、コマンドラインの任意の点で指定できます。以下に例を挙げます。mongorestore --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl 入力できる接続文字列は 1 つのみです。複数の値を含めようとすると、
--uriオプションを使用する場合でも、位置引数として使用する場合でも、エラーになります。接続文字列のコンポーネントの詳細については、「接続文字列 URI 形式」ドキュメントを参照してください。
注意
connection string内の一部のコンポーネントは、--usernameや--passwordなど、独自の明示的コマンドライン オプションを使用して指定することもできます。明示的オプションを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。注意
mongorestoreを Ubuntu 18.04 で使用する場合、(mongodb+srv://形式で)SRV 接続文字列を--uriオプションと併用する場合、cannot unmarshal DNSというエラー メッセージが表示されることがあります。その場合は、次のいずれかのオプションを代わりに使用します。--uriオプションと非 SRV 接続文字列(mongodb://形式)直接接続するホストを指定するための
--hostオプション
--username=<username>, -u=<username>認証を使用する MongoDB データベースへの認証すに使用するユーザー名を指定します。
--passwordオプションおよび--authenticationDatabaseオプションと組み合わせて使用します。あるいは、
URI connection stringでユーザー名を直接指定することもできます。--usernameを使用中に接続文字列を入力し、競合する情報を指定すると、エラーが発生します。MONGODB-AWSauthentication mechanismを使用して MongoDB Atlas クラスターに接続する場合は、次の場所で AWS アクセス キー ID を指定できます。このフィールド
AWS_ACCESS_KEY_ID環境変数。
それぞれの例については、「AWS IAM 認証情報を使用した MongoDB Atlas クラスターへの接続」を参照してください。
--writeConcern=<document>デフォルト: 過半数
mongorestoreで実行される各書き込み操作の書き込み保証(write concern)レベルを指定します。w オプション適用のドキュメントとしての書込み保証(write concern)の指定
--writeConcern="{w:'majority'}" 書き込み保証が
--uri connection stringにも含まれている場合、URI文字列で指定された書き込み保証はコマンドライン--writeConcernで上書きされます。