Overview
このガイドでは、接続string とMongoClient {0 オブジェクトを使用して、さまざまなタイプのMongoDB 配置に接続する方法を説明します。
Atlas
MongoDBAtlas上の 配置に接続するには、 接続string に次の要素を含めます。
Atlas クラスターの URL
MongoDB のユーザー名
MongoDB パスワード
次に、接続stringを MongoClient コンストラクターに渡します。
Tip
Atlas ドライバー接続ガイドに従って接続文字列を取得します。
Atlas に接続するときは、Atlas がMongoDB Serverの新しいバージョンにアップグレードするときに重大な変更を回避するために、 Stable APIクライアントオプションを使用することをお勧めします。
次のコードは、 Kotlin Sync ドライバーを使用して Atlas クラスターに接続する方法を示しています。 このコードでは、Stable API バージョンを指定するためにserverApi()メソッドも使用されます。
// Defines Stable API version val serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build() // Uses MongoClientSettings to apply connection string and specify the Stable API version val settings = MongoClientSettings.builder() .applyConnectionString("<connection string URI>") .serverApi(serverApi) .build() val mongoClient = MongoClient.create(settings)
ローカル配置
MongoDB のローカル配置に接続するには、ホスト名としてlocalhostを使用します。 デフォルトでは、 mongodプロセスはポート27017で実行されますが、これは配置に合わせてカスタマイズできます。
次のコードは、 Kotlin Sync ドライバーを使用してローカル MongoDB 配置に接続する方法を示しています。
val settings = MongoClientSettings.builder() .applyConnectionString("mongodb://localhost:27017") .build() val mongoClient = MongoClient.create(settings)
レプリカセット
レプリカセットに接続するには、レプリカセットのノードのホスト名(または IP アドレス)とポート番号を指定します。
レプリカセット内のホストの完全なリストを提供できない場合は、レプリカセット内の 1 つ以上のホストを指定し、 Kotlin Sync ドライバーに自動検出を実行して他のホストを検索するように指示できます。 ドライバーに自動検出を実行するように指示するには、次のいずれかのアクションを実行します。
replicaSetパラメーターの値としてレプリカセットの名前を指定します。directConnectionパラメーターの値としてfalseを指定します。レプリカセットに複数のホストを指定します。
次の例は、 クラスまたは27017 クラスのいずれかを使用して、3 つの異なるホストのポート で実行されている MongoDBConnectionString MongoClientSettingsレプリカセットに接続する方法を示しています。使用するクラスに対応するタブを選択します。
val mongoClient = MongoClient.create("mongodb://host1:27017,host2:27017,host3:27017/")
val hosts = listOf( ServerAddress("host1", 27017), ServerAddress("host2", 27017), ServerAddress("host3", 27017) ) val settings = MongoClientSettings.builder() .applyToClusterSettings { builder -> builder.hosts(hosts) } .build() val mongoClient = MongoClient.create(settings)
注意
MongoClientコンストラクターは非ブロッキングです。 レプリカセットに接続すると、クライアントがバックグラウンド スレッドを使用してレプリカセットに接続している間に、コンストラクターはすぐに返します。
MongoClientを作成し、そのnodes属性の string 表現をすぐに出力すると、クライアントがレプリカセット メンバーに接続している間はリストが空になることがあります。