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指定された数のMongoDBノードに書込み (write)操作が反映されたことを確認するよう要求する書込み保証 (write concern)

オプションである を指定します。このオプションに許可される値のリストについては、 MongoDB Serverマニュアルの「 WriteConcern w オプション

」を参照してください。デフォルト:Acknowledged

writeConcern.journal

jオプションで指定された基準のディスクジャーナルにデータが書き込まれたことを確認するよう要求する書込み保証オプションであるw を指定します。true またはfalse のいずれかを指定できます。

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

writeConcern.wTimeoutMS

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

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

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