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

接続オプションの指定

このセクションでは、 Kotlin Sync ドライバーで使用できる MongoDB の接続オプションと認証オプションについて説明します。 接続を構成するには、接続 URI またはMongoClientSettingsインスタンス内でオプションを設定します。

接続 URI をMongoClient.create()メソッドに渡す場合は、接続オプションを<name>=<value>ペアとして string に含めることができます。 次の例では、接続 URIconnectTimeoutMS に、値が60000tls オプションと、値が のtrue オプションが含まれています。

val uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"
val mongoClient = MongoClient.create(uri)

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

サーバーに送信またはサーバーから受信されるワイヤプロトコルメッセージの圧縮の種類の優先順位。ドライバーは、サーバーがサポートする圧縮の種類のうちで最初のものを使用します。

データ型: カンマ区切りのstring
MongoClientSettings: compressorList(listOf(<MongoCompressor>))
接続 URI: compressors=snappy,zstd,zlib

zlibCompressionLevel

zlib に使用する圧縮レベル。このオプションは、次の設定に対応する -1 から 9 までの整数値を受け入れます。

- -1: (デフォルト)。zlib はデフォルトの圧縮レベル(通常は 6)を使用します。
- 0: 圧縮なし。
- 1: 速度は最も速いですが、圧縮は最小です。
- 9: 圧縮には最適ですが、速度は最も遅いです。

データ型: 整数
デフォルト: -1
MongoClientSettings: compressorList(listOf(zlib.withProperty(MongoCompressor.LEVEL, 3)))
接続 URI: zlibCompressionLevel=3

接続オプション
説明

connectTimeoutMS

タイムアウトするまで接続を試みる時間(ミリ秒単位)。

データ型: 整数
デフォルト: 10000
MongoClientSettings:

applyToSocketSettings{ builder ->
builder.connectTimeout(10, TimeUnit.SECONDS)
}

接続 URI: timeoutMs=10000

socketTimeoutMS (非推奨)

このオプションは非推奨です。このタイムアウトは、代わりに

クライアントレベルのタイムアウトを設定することで構成できます。

接続で送信または受信を試行するまでのミリ秒。
試行がタイムアウトする前に。

データ型: 整数
デフォルト: タイムアウトなし
MongoClientSettings:

applyToSocketSettings{ builder ->
builder.readTimeout(5, TimeUnit.SECONDS)
}

接続 URI: socketTimeoutMS=5000

接続オプション
説明

serverSelectionTimeoutMS

ドライバーが例外をスローする前に、サーバー選択が成功するまで待機する最大時間をミリ秒単位で指定します。

データ型: 整数
デフォルト: 30000
MongoClientSettings:

applyToClusterSettings{ builder ->
builder.serverSelectionTimeout(30, TimeUnit.SECONDS)
}

接続 URI: serverSelectionTimeoutMS=30000

Tip

認証オプションの詳細については、認証メカニズムセクションを参照してください。

接続オプション
説明

authMechanism

Kotlin 同期ドライバーがアプリケーションの認証に使用するメカニズム。

データ型: string
デフォルト: MongoDB v4.0 以降に接続する場合は "SCRAM-SHA-256"
MongoClientSettings:

credential(
MongoCredential.createScramSha256Credential(...)
)

接続 URI: authMechanism=SCRAM-SHA-256

authMechanismProperties

認証メカニズムに固有のオプション。このオプションは、すべての認証メカニズムに必要とは限りません。

データ型: string
接続 URI: authMechanismProperties=AWS_SESSION_TOKEN:12435

authSource

認証するデータベース。

データ型: string
デフォルト: "admin"
接続 URI: authSource=admin

username

認証するユーザー名。このオプションが接続 URI に含まれる場合は、パーセントエンコードする必要があります。

データ型: string
接続 URI: username=my+user

パスワード

認証用のパスワード。このオプションが接続 URI に含まれる場合は、パーセントエンコードする必要があります。

データ型: string
接続 URI: password=strong+password

さまざまなタイプの MongoDB 配置への接続の詳細については、 「 接続ターゲットの選択 」ガイドを参照してください。

接続オプション
説明

replicaSet

接続先のレプリカセットの名前を指定します。

データ型: string
接続 URI: replicaSet=myRS

directConnection

レプリカセットのプライマリのみに接続するかどうか。

データ型: ブール値
デフォルト: false
MongoClientSettings:

applyToClusterSettings{ builder ->
builder.mode(ClusterConnectionMode.SINGLE)
}

接続 URI: directConnection=true

readPreference

クライアントの読み込み設定 (read preference) を指定します。詳細については、サーバー マニュアルの読み込み設定 (read preference)を参照してください。

データ型: string
デフォルト: primary
MongoClientSettings: readPreference(ReadPreference.primary())
接続 URI: readPreference=primary

ReadConcern

クライアントの読み取り保証 (read concern) を指定します。詳細については、サーバーマニュアルの「読み取り保証 (read concern)」を参照してください。

データ型: string
MongoClientSettings: readConcern(ReadConcern.MAJORITY)
接続 URL: readConcern=majority

writeConcern

クライアントの書込み保証 (write concern)を指定します。詳細については、サーバーマニュアルの「書込み保証」を参照してください。

データ型: string
MongoClientSettings: writeConcern(WriteConcern.MAJORITY)
接続 URL: writeConcern=majority

localThresholdMS

レプリカセットのノードの適格に関するレイテンシ ウィンドウ。ノードの往復 ping 時間が、最速のサーバーの往復 ping 時間とこの値の合計より長い場合、そのサーバーは選択対象になりません。

データ型: 整数
デフォルト: 15
MongoClientSettings:

applyToClusterSettings{ builder ->
builder.localThreshold(35, TimeUnit.MILLISECONDS)
}

接続 URI: localThresholdMS=35

接続オプションの完全なリストを表示するには、サーバー マニュアルの「接続文字列」を参照してください。

このガイドで言及されているクラスとメソッドについて詳しくは、次の API ドキュメントを参照してください。