Overview
このセクションでは、 Kotlin Sync ドライバーで使用できる MongoDB の接続オプションと認証オプションについて説明します。 接続を構成するには、接続 URI またはMongoClientSettingsインスタンス内でオプションを設定します。
接続 URI でオプションを設定する
接続 URI をMongoClient.create()メソッドに渡す場合は、接続オプションを<name>=<value>ペアとして string に含めることができます。 次の例では、接続 URIconnectTimeoutMS に、値が60000 のtls オプションと、値が のtrue オプションが含まれています。
val uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true" val mongoClient = MongoClient.create(uri)
MongoClientSettings でオプションを設定する
MongoClientSettings.Builderクラスのメソッドを使用して、 MongoClientSettingsインスタンスで接続オプションを設定するには、設定オブジェクトをMongoClient.create()メソッドに渡します。
このように接続を構成すると、実行時に設定を変更しやすくなり、コンパイル時にエラーを検出しやすくなります。
次の例は、 MongoClientSettingsインスタンスの作成時に接続ターゲットを指定する方法と、その他のオプションを設定する方法を示しています。
val settings = MongoClientSettings.builder() .applyToClusterSettings { builder -> builder.hosts(listOf(ServerAddress("localhost", 27017))) } .applyToSocketSettings { builder -> builder.connectTimeout(60000, TimeUnit.MILLISECONDS) } .applyToSslSettings { builder -> builder.enabled(true) } .build() val mongoClient = MongoClient.create(settings)
ホスト名とポートを指定する代わりに接続stringを指定する場合は、applyConnectionString() メソッドを使用し、次のコードに示すようにビルダー メソッドを使用して他のオプションを設定します。
val uri = "<connection string>" val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .applyToSocketSettings { builder -> builder.connectTimeout(60000, TimeUnit.MILLISECONDS) } .applyToSslSettings { builder -> builder.enabled(true) } .build() val mongoClient = MongoClient.create(settings)
接続オプション
次のセクションでは、 Kotlin Sync ドライバーで使用できる接続オプションについて説明します。 各オプションは、接続 URI で使用できるオプションと値のペアと、使用可能な場合はそれをMongoClientSettingsインスタンス内に設定するためのドライバー メソッドを示します。
ネットワーク圧縮
接続オプション | 説明 |
|---|---|
compressors | サーバーに送信またはサーバーから受信されるワイヤプロトコルメッセージの圧縮の種類の優先順位。ドライバーは、サーバーがサポートする圧縮の種類のうちで最初のものを使用します。 |
zlibCompressionLevel | zlib に使用する圧縮レベル。このオプションは、次の設定に対応する |
タイムアウト
接続オプション | 説明 | |||
|---|---|---|---|---|
connectTimeoutMS | タイムアウトするまで接続を試みる時間(ミリ秒単位)。 接続 URI: | |||
socketTimeoutMS (非推奨) |
サーバーの選択
接続オプション | 説明 | |||
|---|---|---|---|---|
serverSelectionTimeoutMS | ドライバーが例外をスローする前に、サーバー選択が成功するまで待機する最大時間をミリ秒単位で指定します。 接続 URI: |
認証
Tip
認証オプションの詳細については、認証メカニズムセクションを参照してください。
接続オプション | 説明 | |||
|---|---|---|---|---|
authMechanism | Kotlin 同期ドライバーがアプリケーションの認証に使用するメカニズム。 接続 URI: | |||
authMechanismProperties | 認証メカニズムに固有のオプション。このオプションは、すべての認証メカニズムに必要とは限りません。 | |||
authSource | 認証するデータベース。 | |||
username | 認証するユーザー名。このオプションが接続 URI に含まれる場合は、パーセントエンコードする必要があります。 | |||
パスワード | 認証用のパスワード。このオプションが接続 URI に含まれる場合は、パーセントエンコードする必要があります。 |
読み取り操作と書込み操作
さまざまなタイプの MongoDB 配置への接続の詳細については、 「 接続ターゲットの選択 」ガイドを参照してください。
接続オプション | 説明 | |||
|---|---|---|---|---|
replicaSet | 接続先のレプリカセットの名前を指定します。 | |||
directConnection | レプリカセットのプライマリのみに接続するかどうか。 接続 URI: | |||
readPreference | クライアントの読み込み設定 (read preference) を指定します。詳細については、サーバー マニュアルの読み込み設定 (read preference)を参照してください。 | |||
ReadConcern | クライアントの読み取り保証 (read concern) を指定します。詳細については、サーバーマニュアルの「読み取り保証 (read concern)」を参照してください。 | |||
writeConcern | クライアントの書込み保証 (write concern)を指定します。詳細については、サーバーマニュアルの「書込み保証」を参照してください。 | |||
localThresholdMS | レプリカセットのノードの適格に関するレイテンシ ウィンドウ。ノードの往復 ping 時間が、最速のサーバーの往復 ping 時間とこの値の合計より長い場合、そのサーバーは選択対象になりません。 接続 URI: |
詳細情報
接続オプションの完全なリストを表示するには、サーバー マニュアルの「接続文字列」を参照してください。
API ドキュメント
このガイドで言及されているクラスとメソッドについて詳しくは、次の API ドキュメントを参照してください。