Docs Menu
Docs Home
/ / /
Java Sync Driver
/ /

クライアントレベルのCRUD設定を構成する

項目一覧

  • Overview

このガイドでは、 Javaドライバーを使用して MongoClient インスタンスのCRUD操作を構成する方法について説明します。

読み込み設定(read preference ) 、 読み取り保証( read concern ) 、 書込み保証( write concern ) は、MongoDB レプリカセットに接続するときに、ドライバーが読み取り操作をルーティングして読み取りおよび書込み操作の確認を待つ方法を制御します。 読み込み設定(read preference)と読み取り保証(read concern)はすべての読み取り操作に適用されます。書込み保証 (write concern) はすべての書込み (write) 操作に適用されます。

詳しくは、 の 読み込み設定(read preference) 読み取り保証(read concern) 、 書込み保証(write concern) に関するサーバーのドキュメントを参照してください。

MongoDatabase インスタンスと MongoCollection インスタンスは、それらにアクセスする MongoClient から環境設定と懸念事項を継承します。ただし、データベースとコレクションにカスタム設定を適用できます。詳細については、カスタムCRUD設定の構成ページを参照してください。

接続文字列を使用するか、MongoClients コンストラクターに MongoClientSettingsオブジェクトを渡すことで、クライアントレベルのCRUD設定を指定できます。使用可能なオプションを確認するには、Connection String タブまたは MongoClientSettingsタブを選択します。

ドライバーの読み取りまたは書込み動作を変更するには、次のパラメーターを接続文字列に含めます。

オプション名
タイプ
説明

journal

ブール値

接続された MongoDB インスタンスがすべての書き込みに対してディスク上のジャーナル ファイルにグループ コミットするまで、ドライバーが待機する必要があることを指定します。

デフォルト: false

w

string or integer

書込み保証 (write concern)を指定します。値の詳細については、w オプション のMongoDB Server のドキュメントを参照してください。

デフォルト: 1

wtimeoutMS

integer

書込み保証 (write concern)の時間制限をミリ秒単位で指定します。詳細については、 MongoDB Server のドキュメントの wtimeoutMS オプション を参照してください。値が 0 の場合は、書込み操作がタイムアウトしないようにドライバーに指示します。

デフォルト: 0

readPreference

string

読み込み設定 (read preference)を指定します。値の詳細については、readPreference オプションのMongoDB Server のドキュメントを参照してください。

デフォルト: primary

readPreferenceTags

string

読み込み設定 (read preference)タグを指定します。値の詳細については、readPreferenceTags オプションのMongoDB Server のドキュメントを参照してください。

デフォルト: null

maxStalenessSeconds

integer

ドライバーがセカンダリとの通信を停止する前に、セカンダリがどの程度古くなった時点でセカンダリとの通信を停止するかを秒単位で指定します。の最小値は、90 秒またはハートビート頻度に 10 秒を加えた値のうち大きい方です。詳細については、 MongoDB Server のドキュメントの maxStalenessSeconds オプション を参照してください。パラメータを指定しない場合、または -1 を明示的に指定している場合は、セカンダリの古さチェックを行わない必要があることを示します。

デフォルト: -1

uuidRepresentation

string

読み取り操作と書込み (write) 操作に使用する UUID 表現を指定します。詳しくは、 MongoClientSettings.getUuidRepresentation() メソッド の ドライバー ドキュメントを参照してください。

デフォルト: unspecified

retryWrites

ブール値

ネットワーク エラーにより完了できない場合、サポートされている書き込み操作を再試行する必要があることを指定します。

デフォルト: true

retryReads

ブール値

ネットワーク エラーにより完了できない場合、サポートされている読み取り操作を再試行する必要があることを指定します。

デフォルト: true

次の例では、最も近いレプリカセットメンバーから読み取るように読み込み設定 (read preference)を設定します。

ConnectionString connectionString = "mongodb://<host>:<port>/?readPreference=nearest"
MongoClient mongoClient = MongoClients.create(connectionString)

これらのパラメーターの詳細については、「 ConnectionString APIドキュメント 」を参照してください。

ドライバーの読み取り/書込み動作を変更するには、次のメソッドを MongoClientSettings コンストラクターにチェーンします。

readConcern()

読み取り保証 (read concern)を設定します。サーバー マニュアル ページ APIドキュメント

readPreference()

読み込み設定 (read preference)を設定する

デフォルト: primary

retryReads()

ネットワークエラーが発生した場合にドライバーが読み取りの再試行を実行するかどうか。

デフォルト: true

retryWrites()

ネットワークエラーが発生した場合にドライバーが書込みを再試行するかどうか。

デフォルト: true

uuidRepresentation()

UUID のインスタンスをエンコードし、サブタイプが 3 の BSON バイナリ値をデコードするときに使用する UUID 表現を設定します。

writeConcern()

書込み保証 ( write concern) を設定します。

デフォルト :WriteConcern#ACKNOWLEDGED 。 |デフォルト値の詳細については、「 暗黙のデフォルト書込み保証 (write concern) 」を参照してください。

次の例では、最も近いレプリカセットメンバーから読み取るように読み込み設定 (read preference)を設定します。

MongoClient mongoClient = MongoClients.create(
MongoClientSettings.builder().applyConnectionString(new ConnectionString("<your connection string>"))
.readPreference(ReadPreference.nearest())
.build());

これらのメソッドの詳細については、 MongoClientSettings.Builder APIドキュメント を参照してください。

戻る

ソケット設定

項目一覧