Docs Menu
Docs Home
/ / /
Scala
/

接続ターゲットの選択

項目一覧

  • Overview
  • Atlas
  • ローカル配置
  • レプリカセット
  • API ドキュメント

このガイドでは、接続string とMongoClient {0 オブジェクトを使用して、さまざまなタイプのMongoDB 配置に接続する方法を説明します。

MongoDBAtlas上の 配置に接続するには、 接続string に次の要素を含めます。

  • Atlas クラスターの URL

  • MongoDB のユーザー名

  • MongoDB パスワード

次に、接続stringを MongoClient コンストラクターに渡します。

Tip

接続 Atlasを取得するには、 ドライバー接続ガイドstring に従ってください。

Atlas に接続するときは、Atlas が MongoDB Server の新しいバージョンにアップグレードするときに重大な変更を回避するために、 Stable API クライアント オプションを使用することをお勧めします。 Stable API 機能について詳しくは、 Stable APIガイドをご覧ください。

次のコードは、 Scalaドライバーを使用して Atlas クラスターに接続する方法を示しています。このコードでは、Stable APIバージョンを指定するために serverApi() メソッドも使用されます。

object MongoClientConnectToAtlas {
def main(args: Array[String]): Unit = {
// Replace the placeholder with your Atlas connection string
val connectionString = "<connection string>";
// Constructs a ServerApi instance using the ServerApi.builder() method
val serverApi = ServerApi.builder.version(ServerApiVersion.V1).build()
val settings = MongoClientSettings
.builder()
.applyConnectionString(ConnectionString(connectionString))
.serverApi(serverApi)
.build()
// Creates a new client and connects to the server
Using(MongoClient(settings)) { mongoClient =>
// Sends a ping to confirm a successful connection
val database = mongoClient.getDatabase("admin")
val ping = database.runCommand(Document("ping" -> 1)).head()
Await.result(ping, 10.seconds)
System.out.println("Pinged your deployment. You successfully connected to MongoDB!")
}
}
}

MongoDB のローカル配置には次の方法で接続できます。

  • ポート 27017localhost で実行中MongoDBサーバーに接続するために、 パラメータなしで MongoClientオブジェクトをインスタンス化します。

    val mongoClient = MongoClient()
  • ポート27017の指定されたホストで実行されている MongoDB インスタンスに接続するには、 hostnameを明示的に指定します。

    val mongoClient = MongoClient("mongodb://host1")
  • hostnameportを明示的に指定します。

    val mongoClient = MongoClient("mongodb://host1:27017")

レプリカセットに接続するには、レプリカセットのノードのホスト名(またはIPアドレス)とポート番号を指定します。

レプリカセット内のホストの完全なリストを提供できない場合は、レプリカセット内の 1 つ以上のホストを指定し、 Scalaドライバーに自動検出を実行して他のホストを検索するように指示できます。ドライバーに自動検出を実行するように指示するには、次のいずれかのアクションを実行します。

  • replicaSet パラメーターの値としてレプリカセットの名前を指定します。

  • directConnection パラメーターの値として false を指定します。

  • レプリカセットに複数のホストを指定します。

MongoDBレプリカセットに接続するには、ConnectionString でノードを指定します。次の例では、レプリカセットの 3 つのノードを指定する方法を示しています。

val mongoClient = MongoClient("mongodb://host1:27017,host2:27017,host3:27017")

次の例は、レプリカセットのメンバーと、レプリカセット名とともにreplicaSetオプションを指定する方法を示しています。

val mongoClient = MongoClient("mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myReplicaSet")

次の例は、すべてのレプリカセット メンバーに対応するServerAddressインスタンスのリストを指定する方法を示しています。

val mongoClient = MongoClient(
MongoClientSettings.builder()
.applyToClusterSettings((builder: ClusterSettings.Builder) => builder.hosts(List(
new ServerAddress("host1", 27017),
new ServerAddress("host2", 27017),
new ServerAddress("host3", 27017)).asJava))
.build())

注意

MongoClientコンストラクターは非ブロッキングです。 レプリカセットに接続すると、クライアントがバックグラウンド スレッドを使用してレプリカセットに接続している間に、コンストラクターはすぐに返します。

MongoClientを作成し、そのnodes属性の string 表現をすぐに出力すると、クライアントがレプリカセット メンバーに接続している間はリストが空になることがあります。

このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。

戻る

Stable API