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

mongoimport

項目一覧

  • Synopsis
  • 構文
  • オプション
  • 詳細

このドキュメントは、mongoimport のバージョン 100.10.0 用です。

mongoimport  は、Extended JSON、CSV、または TSV エクスポートを、 mongoexport によって作成されたもの、または別のサードパーティ製エクスポートツールによって作成されたものをインポートします。

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

mongoexport はデータのエクスポート機能を備えています。

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

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

Tip

グラフィカル ユーザー インターフェイス ツール MongoDB Compass を使用してデータをインポートおよびエクスポートすることもできます。詳細については、「MongoDB Compass のインポートとエクスポート」を参照してください。

mongoimport 構文:

mongoimport <options> <connection-string> <file>
--help

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

--verbose, -v

標準出力またはログファイルに返される内部レポートの量が増えます。-v フォームでの冗長性を高めるには、オプションを複数回含めてください(例: -vvvvv)。

--quiet

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

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

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

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

  • 接続を受け付けたイベント

  • 接続を終了したイベント

--version

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

--config=<filename>

バージョン 100.3.0 の新機能

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

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

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

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

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

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

注意

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

--uri=<connectionString>

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

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

注意

--db または --uri オプションでデータベースを指定しない場合、mongoimport はデフォルトで test データベースを使用します。test データベースが存在しない場合は、mongoimport がデータベースを作成します。

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

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

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

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

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

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

注意

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

注意

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

警告

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

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

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

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

デフォルト: localhost:27017

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

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

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

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

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

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 構成」を参照してください。

--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 オプションを使用します。いずれの場合も、mongoimport はすべてのログおよびレポート出力からパスワードを非表示にします。

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

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

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

警告

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

--sslCRLFile=<filename>

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

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

--sslAllowInvalidCertificates

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

警告

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

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

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

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

--sslAllowInvalidHostnames

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

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

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

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

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

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

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

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

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

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

ユーザーにパスワードの入力を求めるには、--username オプションを --password なしで渡すか、--password "" のように --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 が作成された認証データベースを指定します。詳細については、「認証データベース」を参照してください。

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

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

--authenticationMechanism=<name>

デフォルト: SCRAM-SHA-1

mongoimport インスタンスがmongod または mongos への認証に使用する認証メカニズムを指定します。

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

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

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

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

--gssapiHostName=<hostname>

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

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

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

mongoimport を実行するデータベースの名前を指定します。

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

注意

--db または --uri オプションでデータベースを指定しない場合、mongoimport はデフォルトで test データベースを使用します。test データベースが存在しない場合は、mongoimport がデータベースを作成します。

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

インポートするコレクションを指定します。--collection を指定しない場合、mongoimport は入力ファイル名からコレクション名を読み取り、ファイルの拡張子がある場合はその拡張子を省略します。

--fields=<field1[,field2]>, -f=<field1[,field2]>

ファイルの最初の行(ヘッダー)にフィールド名がない CSV または TSV ファイルをインポートする場合は、フィールド名をカンマで区切って指定します。

フィールド名だけでなくフィールド タイプも指定するには、--fields--columnsHaveTypes と併用します。

JSON データのインポート中に --fields を含めようとすると、mongoimport はエラーを返します。--fieldsCSV または TSV のインポートにのみ対応しています。

--fieldFile=<filename>

--fields の代わりに、--fieldFile オプションを使用すると、CSV または TSV ファイルの 1 行目(ヘッダー)にフィールド名が含まれていない場合、フィールド名のリストを保持するファイルを指定します。1 行に 1 つのフィールドを配置します。

フィールド名だけでなくフィールド タイプも指定するには、--fieldFile--columnsHaveTypes と併用します。

JSON データのインポート中に --fieldFile を含めようとすると、mongoimport はエラーを返します。--fieldFileCSV または TSV のインポートにのみ対応しています。

--ignoreBlanks

CSVTSV のエクスポート ファイル内の空のフィールドを無視します。指定されない場合、mongoimport はインポートされたドキュメントに値のないフィールドを作成します。

JSON データのインポート中に --ignoreBlanks を含めようとすると、mongoimport はエラーを返します。--ignoreBlanksCSV または TSV のインポートにのみ対応しています。

--type=<json|csv|tsv>

インポートするファイルの種類を指定します。デフォルト形式は JSON ですが、CSVTSV ファイルをインポートすることも可能です。

csvパーサーは、 RFC-4180 に準拠するデータを受け入れるため、 。バックスラッシュは有効なエスケープ文字ではありません。 CSV データのフィールドを二重引用符で囲む場合、別の二重引用符を前に追加することで、内部二重引用符をエスケープする必要があります。

--file=<filename>

インポートするデータを含むファイルの場所と名前を指定します。ファイルを指定しない場合、mongoimport は標準入力(例: 「stdin」)からデータを読み取ります。

--drop

入力からデータをインポートする前に、ターゲット インスタンスがコレクションと関連する インデックス を削除するようにインポート プロセスを変更します。

--headerline

--type csv または --type tsv を使用する場合は、最初の行をフィールド名として使用します。それ以外の場合、mongoimport は最初の行を別のドキュメントとしてインポートします。

JSON データのインポート中に --headerline を含めようとすると、mongoimport はエラーを返します。--headerlineCSV または TSV のインポートにのみ対応しています。

--useArrayIndexFields

バージョン100.0.0の新機能

CSV または TSV ファイルのインポート時に、フィールド内の自然数は配列インデックスと解釈されます。

フィールド名は <colName>.<arrayIndex> 形式にします。arrayIndex には 0 で始まり、配列のノードごとに 1 ずつ順番に増加する自然数を入れます。

以下は CSV ファイルの例です。

a.0,a.1,a.2,a.3
red,yellow,green,blue

--useArrayIndexFields オプションを使用してインポートすると、次のドキュメントが作成されます。

"a" : [ "red", "yellow", "green", "blue" ]

--columnsHaveTypesオプションも使用する場合は、各フィールドの配列インデックスと型を指定するために<colName>.<arrayIndex>.<type>(<arg>) の形式を使用します。詳細については、「--columnsHaveTypes」を参照してください。

先頭にゼロがある数字キー(例: a.000,a.001)は、配列インデックスとして解釈されません。

キーの最初の部分が自然数(例: 0.a,1.a)の場合は、配列インデックスとしてでなく、ドキュメントのキーとして解釈されます。

--ignoreBlanks オプションを --useArrayIndexFieldsと併用する場合、mongoimport は配列インデックス フィールドに空白の値(例: "")を含むドキュメントをインポートしようとすると、エラーを返します。

配列は既に JSON 形式でエンコードされているため、--useArrayIndexFields オプションは JSON データのインポートするときには効果がありません。

--mode=<insert|upsert|merge|delete>

Default: insert

インポート ファイル内のドキュメントと一致するデータベース内の既存ドキュメントをインポートプロセスがどのように取り扱うかを指定します。

デフォルトでは mongoimport_id フィールドを使用して、コレクション内のドキュメントとインポート ファイル内のドキュメントを照合します。upsertmergedelete モードで既存ドキュメントと照合するフィールドを指定するには、--upsertFields を使用します。

説明
insert
インポート ファイルにドキュメントを挿入します。_id などのユニークインデックスを持つフィールドに重複値が含まれるドキュメントのインポートを試みる場合、mongoimport はエラーを返します。
upsert
データベース内の既存ドキュメントをインポートファイルに含まれる一致ドキュメントに置き換えます。mongoimport は他のすべてのドキュメントを挿入します。「インポート中における一致するドキュメントの置き換え」で --mode upsert の使用方法について説明しています。
merge
インポートファイル内のドキュメントと一致する既存ドキュメントを新しいドキュメントと結合します。mongoimport は他のすべてのドキュメントを挿入します。「インポート時の一致ドキュメントの結合」で --mode merge の使用方法について説明しています。
delete

インポート ファイル内のドキュメントと一致するデータベース内の既存ドキュメントを削除します。mongoimport は一致しないドキュメントに対して一切アクションを実行しません。「一致するドキュメントの削除」では --mode delete の使用方法について説明しています。

バージョン100.0.0の新機能

--upsertFields=<field1[,field2]>

インポート プロセスのクエリ部分のフィールド リストを指定します。--upsertFields--mode upsertmergedelete と併用できます。

このオプションは、既存ドキュメントの _id フィールドがドキュメントのフィールドと一致せず、かつ別のフィールドまたはフィールドの組み合わせによってアップサート操作の実行基準としてドキュメントを一意に識別できる場合に使用します。

フィールドを指定しない場合、--upsertFields_id フィールドに基づいてアップサートを実行します。

十分なパフォーマンスを確保するには、--upsertFields で指定するフィールドにインデックスが存在する必要があります。

--stopOnError

エラーが生じても操作を続行するのでなく、最初のエラー時に mongoimport が挿入操作を停止するよう強制します。

mongoimport のデフォルト設定では、重複キーとドキュメント検証エラーが発生しても操作は続行されます。こうしたエラー発生時にプログラムが停止するようにするには、--stopOnError を指定します。

--jsonArray

単一の JSON 配列内に複数の MongoDB ドキュメントで表現されたデータのインポートを受け入れます。インポートは 16 MB以下に制限されます。

--jsonArraymongoexport --jsonArrayと組み合わせて使用します。

--legacy

インポート データが、デフォルトの拡張 JSON v2 形式でなく、拡張 JSON v1 形式であることを示します。

Tip

一般に、mongoexportmongoimport のバージョンは一致する必要があります。具体的には、mongoexport から作成されたデータをインポートするには、対応するバージョンの mongoimport を使用する必要があります。

たとえば、インポート データが v1 形式の場合は次のようになります。

{"_id":1.0,"myregfield":{"$regex":"foo","$options":"i"}}

--legacy オプションを選択せずにインポートすると、コレクションに次のドキュメントが作成されます。

{ "_id" : 1, "myregfield" : { "$regex" : "foo", "$options" : "i" } }

--legacy を使用してインポートすると、コレクション内に次のドキュメントが生成されます。

{ "_id" : 1, "myregfield" : { "$regularExpression" : { "pattern" : "foo", "options" : "i" } } }
--maintainInsertionOrder

デフォルト: false

指定した場合、mongoimport は、入力ソースに出現する順序でドキュメントを挿入します。つまり、一括書き込み (write) バッチの順と、バッチ内のドキュメント順の両方が維持されます。

--maintainInsertionOrder を指定することで --stopOnError も有効になり、numInsertionWorkers は 1 に設定されます。

指定されていない場合、mongoimport が、無作為な順序で挿入を実行する可能性があります。

--numInsertionWorkers=<int>

デフォルト: 1

同時に実行するする挿入ワーカーの数を指定します。

大規模なインポートの場合、挿入ワーカーの数を増やすとインポートが迅速化する可能性があります。

--writeConcern=<document>

デフォルト: 過半数

mongoimport で実行される各書き込み操作の書き込み保証(write concern)レベルを指定します。

w オプション適用のドキュメントとしての書込み保証(write concern)の指定

--writeConcern "{w:'majority'}"

書き込み保証が --uri connection string にも含まれている場合、URI文字列で指定された書き込み保証はコマンドライン --writeConcern で上書きされます。

--bypassDocumentValidation

mongoimport が操作中にドキュメントの検証をバイパスできるようにします。これにより、検証要件を満たさないドキュメントを挿入できるようになります。

--columnsHaveTypes

--fields--fieldFile、または --headerline で指定されたフィールド リストが各フィールドのタイプを指定することを mongoimport に指示します。

フィールド名の形式は <colName>.<type>(<arg>) にする必要があります。()\ を引数に含める場合は、バックスラッシュでエスケープする必要があります。

type
サポートされる引数
ヘッダー フィールドの例
auto()
なし。
misc.auto()
binary(<arg>)
  • base32RFC4648 エンコーディング スキーマ)

  • base64RFC4648 エンコーディング スキーマ)

  • hex

user thumbnail.binary(base64)
boolean()
なし。
verified.boolean()
date(<arg>)
date_go(<arg>) のエイリアス。Go 言語 time.ParseL 形式。
created.date(2006-01-02 15:04:05)
date_go(<arg>)
created.date_go(2006-01-02T15:04:05Z)
date_ms(<arg>)
created.date_ms(yyyy-MM-dd H:mm:ss)
date_oracle(<arg>)
created.date_oracle(YYYY-MM-DD HH24:MI:SS)
decimal()
なし
price.decimal()
double()
なし。
revenue.double()
int32()
なし。
followerCount.int32()
int64()
なし。
bigNumber.int64()
string()
なし。
zipcode.string()

使用例については、「指定されたフィールド タイプを含む CSV のインポート」を参照してください。

JSON データのインポート中に --columnsHaveTypes を含めようとすると、mongoimport はエラーを返します。--columnsHaveTypesCSV または TSV のインポートにのみ対応しています。

--parseGrace=<grace>

デフォルト: stop

--columnsHaveTypes を使用して CSV または TSV ファイルをインポートするときに、mongoimport が型変換の失敗をどのように処理するかを指定します。

--parseGrace は JSON ドキュメントのインポート時には、効果がありません。

説明
autoCast
フィールドの値に基づいて型を割り当てます。たとえば、フィールドが double として定義され、そのフィールドの値が "foo" であった場合、mongoimport そのフィールド値は文字列になります。
skipField
mongoimport はインポートされている行のフィールドのタイプが予想と一致しない場合、そのフィールドを含めません。
skipRow
mongoimport は予想される型と一致しない型の値を含む行はインポートしません。
stop
mongoimport はエラーを返し、インポートを終了します。

戻る