警告
データのインポートおよびエクスポートでの ($) と (.) の競合
MongoDB 5.0以降、ドキュメントフィールド名の前にドル記号( $ )を付けたり、ピリオド文字( . )を含めたりすることができます。 ただし、 mongoimportとmongoexportは、それらの文字を使用するフィールド名では機能しません。
MongoDB Extended JSON v 2は、type wrapper と、type wrapper と同じ名前を持つフィールドを区別できません。 対応する BSON 表現に( $ )プレフィックス付きキーが含まれる可能性があるコンテキストでは、拡張 JSON 形式を使用しないでください。 DBRefメカニズムは、この一般ルールの例外です。
フィールド名で( . )とともにmongoimportとmongoexportを使用することにも制限があります。 CSV ファイルではデータ階層を表すのに( . )が使用されるため、フィールド名の( . )はネストのレベルと誤解されます。
動作
タイプの忠実度
を使用して完全なインスタンスバックアップを実行するときに、すべての豊富な BSON データ型を保持する必要がある場合は、 Extended2 0mongoexportJSON v を指定してください。 次の方法で、 (標準モード) から オプションへ--jsonFormat mongoexportを使用します。
mongoexport --jsonFormat=canonical --collection=<coll> <connection-string>
--jsonFormatが指定されていない場合、 はmongoexport 拡張 JSON v2 0にデータを出力します。 デフォルトでは (緩和モード) 。
mongoimportは、復元時に指定されたターゲット データファイルにあるJSON形式を自動的に使用します。 たとえば、 Extended JSON v2 0mongoexport--jsonFormat=canonicalが使用されます。 ターゲット データ エクスポート ファイルが を指定して によって作成された場合、 (標準モード) 。
JSON Format
mongoimportでは、インポート データが Extended JSON v2.0 (標準) または 拡張 JSON v2 0のいずれかである必要があります。 デフォルトでは (緩和) 形式。Extended JSON v 1を使用して形式されたデータをインポートする場合。 0 、 --legacyオプションを指定する
Tip
一般に、 mongoexportとmongoimportのバージョンは一致する必要があります。 つまり、 mongoexportから作成されたデータをインポートするには、対応するバージョンのmongoimportを使用する必要があります。
ドキュメントの順序
デフォルトでは、 mongoimportはランダムな順序でドキュメントを挿入できます。 復元プロセス中にドキュメント順序を維持するには、 --maintainInsertionOrderを使用します。
エンコーディング
mongoimport は UTF-8 でエンコードされたデータファイルのみをサポートします。他のエンコードを使用すると、エラーが発生します。
FIPS
mongoimport は 、FIPS モードを使用するように構成さ れたmongod /mongos への FIPS 準拠の接続を自動的に作成します。
書込み保証 (write concern)
--writeConcernオプションと--uri connection stringオプションの両方で書込み保証を指定した場合、 --writeConcernの値が URI string で指定された書込み保証よりも優先されます。
バッチ
mongoimport は、最大バッチ サイズ 100,000 を使用して、一括挿入/アップサート操作を実行します。
時系列コレクション
時系列データをインポートするには、 mongoimportを実行中前に時系列コレクションを作成する必要があります。mongoimport は時系列コレクションの自動作成をサポートしていません。コレクションの作成の詳細については、createCollection() を参照してください。
必要なアクセス権
mongodオプションを使用して認証を適用する--auth に接続するには、--username オプションと--password オプションを使用する必要があります。接続ユーザーは、少なくともデータをインポートするデータベースに対してreadWriteロールを持っている必要があります。