AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

バッチ書込み (write) 構成オプション

バッチ モードで MongoDB にデータを書き込むときに、次のプロパティを構成できます。

注意

SparkConfを使用して connectorの書込み構成を設定する場合は、各プロパティの前にspark.mongodb.write.を付けます。

プロパティ名
説明

connection.uri

必須。
接続文字列の構成キー。

デフォルト: mongodb://localhost:27017/

database

必須。
データベース名の構成。

collection

必須。
コレクション名の構成。

comment

書き込み操作に追加するコメント。コメントは、データベースプロファイラーの出力に表示されます。

デフォルト: なし

mongoClientFactory

MongoClientFactory の設定キー。
com.mongodb.spark.sql.connector.connection.MongoClientFactory インターフェースを実装する必要があるカスタム実装を指定できます。

デフォルト: com.mongodb.spark.sql.connector.connection.DefaultMongoClientFactory

convertJson

コネクタがstring値を解析し、拡張JSONをBSONに変換するかどうかを指定します。

この設定では、次の値を受け入れることができます:

  • any: コネクタはすべての JSON 値を BSON に変換します。

    • "{a: 1}"{a: 1}になります。

    • "[1, 2, 3]"[1, 2, 3]になります。

    • "true"trueになります。

    • "01234"1234になります。

    • "{a:b:c}" は変更されません。

  • objectOrArrayOnly: コネクタは JSON オブジェクトと配列のみを BSON に変換します。

    • "{a: 1}"{a: 1}になります。

    • "[1, 2, 3]"[1, 2, 3]になります。

    • "true" は変更されません。

    • "01234" は変更されません。

    • "{a:b:c}" は変更されません。

  • false: コネクタはすべての値を string のままにします。

デフォルト: false

idFieldList

コレクション データを分裂するフィールドまたはフィールドのリストを指定します。複数のフィールドを指定するには、次の例に示すようにカンマを使用して区切ります。

"fieldName1,fieldName2"

デフォルト: _id

ignoreNullValues

true の場合、コネクターは書き込み時に、配列とネストされたドキュメントの null 値を含め、あらゆる null 値を無視します。

デフォルト: false

maxBatchSize

バルク操作でバッチする操作の最大数を指定します。

デフォルト: 512

operationType

実行する書込み (write) 操作のタイプを指定します。 これは、次のいずれかの値に設定できます。

  • insert: データを挿入します。

  • replace: idFieldList値に一致する既存のドキュメントを新しいデータに置き換えます。 一致するものが存在しない場合、 upsertDocumentの値はコネクタが新しいドキュメントを挿入するかどうかを示します。

  • update: idFieldList値に一致する既存のドキュメントを新しいデータで更新します。 一致するものが存在しない場合、 upsertDocumentの値はコネクタが新しいドキュメントを挿入するかどうかを示します。


デフォルト: replace

ordered

オーダードバルク操作を実行するかどうかを指定します。

デフォルト: true

upsertDocument

true の場合、置換および更新操作では、一致するものがない場合にデータが挿入されます。

時系列コレクションの場合は、upsertDocumentfalse に設定する必要があります。

デフォルト: true

writeConcern.w

w、書込み保証 (write concern) オプションを指定します。このオプションは、書込み操作が指定された数の MongoDB ノードに伝播されたことを要求します。

このオプションで許可される値のリストについては、MongoDB Server マニュアルの「WriteConcern w オプション」を参照してください。

デフォルト: Acknowledged

writeConcern.journal

wオプションで指定された条件に対して、データがオンディスクジャーナルに書き込まれたことを認識するようリクエストする書込み保証 (write concern)オプションであるjを指定します。trueまたはfalseを指定できます。

j値の詳細については、MongoDB Server マニュアルの「WriteConcern j オプション」を参照してください。

writeConcern.wTimeoutMS

書込み操作が指定されたミリ秒数を超えた場合にエラーを返す書き込み (write) 保証オプションである wTimeoutMS を指定します。この任意設定を使用する場合は、非負の整数を指定する必要があります。

wTimeoutMS 値の詳細については、MongoDB Server マニュアルの「WriteConcern wtimeout」を参照してください。

truncateMode

上書きを実行する際にコレクションを切り据る方法を指定します。このオプションは、次のいずれかの値に設定できます。

  • TruncateMode.DROP: デフォルト。コレクションを削除します。

  • TruncateMode.TRUNCATE:コレクション内のすべてのエントリを削除しますが、インデックス、コレクションオプション、およびシャーディング構成は保持されます。これは 削除操作よりも遅くなります。

ignoreDuplicatesOnInsert

trueに設定すると、コネクターは順序なしの挿入操作の実行時に重複キーエラーを無視します。挿入されるデータには、_id フィールド値または idFieldList オプションで指定されたフィールドが含まれている必要があります。

デフォルト: false

SparkConfを使用して以前の設定のいずれかを指定する場合は、それらをconnection.uri設定に含めるか、個別に一覧表示できます。

次のコード例は、 connection.uri設定の一部としてデータベース、コレクション、およびconvertJson設定を指定する方法を示しています。

spark.mongodb.write.connection.uri=mongodb://127.0.0.1/myDB.myCollection?convertJson=any

connection.uriを短くして設定を読みやすくするには、代わりにこれらを個別に指定します。

spark.mongodb.write.connection.uri=mongodb://127.0.0.1/
spark.mongodb.write.database=myDB
spark.mongodb.write.collection=myCollection
spark.mongodb.write.convertJson=any

重要

connection.uriとその行の両方に 設定を指定すると、 connection.uriの設定が優先されます。 たとえば、次の構成では、接続データベースはfoobarです。

spark.mongodb.write.connection.uri=mongodb://127.0.0.1/foobar
spark.mongodb.write.database=bar