Docs 菜单
Docs 主页
/ / /
Kotlin Sync 驱动程序

连接至 MongoDB

在此页面上

  • Overview
  • 示例应用程序
  • 连接
  • 本地部署
  • Atlas
  • 副本集(Replica Set)
  • 传输层安全性 (TLS)
  • 启用 TLS
  • 禁用主机名验证
  • 网络压缩
  • 压缩算法
  • zlibCompressionLevel
  • 服务器选择
  • Stable API

本页包含的代码示例展示了如何使用Kotlin Sync驾驶员程序,通过指定各种设置将应用程序程序连接到MongoDB 。

提示

连接选项

要学习;了解有关此页面上的连接选项的更多信息,请参阅每个部分中提供的链接。 您还可以查看指定连接选项”指南以学习;了解更多信息。

要使用此页面中的连接示例,请将代码示例复制到示例应用程序或您自己的应用程序中。 请务必将代码示例中的所有占位符(例如 <hostname> )替换为 MongoDB 部署的相关值。

您可以使用以下示例应用程序来测试本页上的代码示例。 要使用示例应用程序,请执行以下步骤:

  1. 确保您已在 Maven 或 Gradle项目中安装Kotlin Sync驾驶员程序。

  2. 复制以下代码并将其粘贴到新的.kt文件中。

  3. 从此页面复制代码示例,并将其粘贴到文件中的指定行。

1import com.mongodb.kotlin.client.MongoClient
2import org.bson.Document
3
4fun main() {
5
6 // Start example code here
7
8 // End example code here
9
10 val database = mongoClient.getDatabase("admin")
11
12 val command = Document("ping", 1)
13 val commandResult = database.runCommand(command)
14 println("Pinged your deployment. You successfully connected to MongoDB!")
15}

以下部分介绍如何连接到不同的目标,例如MongoDB的本地实例或Atlas上的云托管实例。

以下代码显示了用于连接到 本地实例的连接string MongoDB:

val uri = "mongodb://localhost:27017/"
val mongoClient = MongoClient.create(uri)

以下代码显示了用于连接到 上托管的部署的连接string Atlas:

val uri = "mongodb+srv://<db_username>:<db_password>@<hostname/port>/?<options>"
val mongoClient = MongoClient.create(uri)

以下代码显示了用于连接到副本集的连接string :

val uri = "mongodb://<replica set member>:<port>/?replicaSet=<replica set name>"
val mongoClient = MongoClient.create(uri)

以下部分介绍了如何在启用 TLS协议的情况下连接到MongoDB 。 要学习;了解有关将 TLS 与Kotlin Sync驾驶员结合使用的更多信息,请参阅在连接上启用 TLS。

以下标签页演示了如何在连接上启用TLS:

val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString("<connection string>"))
.applyToSslSettings { builder ->
builder.enabled(true)
}
.build()
val mongoClient = MongoClient.create(settings)
val uri = "mongodb+srv://<db_username>:<db_password>@<cluster-url>?tls=true"
val mongoClient = MongoClient.create(uri)

要了解有关启用 TLS 的更多信息,请参阅 TLS 配置指南中的启用 TLS

以下标签页演示了如何在使用 TLS 连接时禁用主机名验证:

val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString("<connection string>"))
.applyToSslSettings { builder ->
builder.enabled(true)
builder.invalidHostNameAllowed(true)
}
.build()
val mongoClient = MongoClient.create(settings);
val uri = "mongodb://<db_username>:<db_password>@<hostname>:<port>/?"tls=true&tlsAllowInvalidHostnames=true"
val mongoClient = MongoClient.create(uri)

以下部分介绍了如何在指定网络压缩算法时连接到MongoDB 。

以下标签页演示了如何在连接到MongoDB时指定所有可用的压缩器:

val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString("<connection string>"))
.compressorList(
listOf(
MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor())
)
.build()
val mongoClient = MongoClient.create(settings)
val uri = ConnectionString("mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd")
val mongoClient = MongoClient.create(uri)

以下标签页演示了如何为zlib压缩器指定压缩级别:

val zlib = MongoCompressor.createZlibCompressor()
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.compressorList(listOf(zlib.withProperty(MongoCompressor.LEVEL, <level>)))
.build()
val mongoClient = MongoClient.create(settings)
val uri = "mongodb://<db_username>:<db_password>@<hostname>:<port>/?" +
"compressors=zlib" +
"zlibCompressionLevel=<zlib compression level>"
val mongoClient = MongoClient.create(uri)

以下代码显示了指定服务器选择函数的连接string :

val client = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>",
server_selector=<selector function>)

以下代码展示了如何在MongoClientSettings实例中指定 Stable API设置:

val serverApi = ServerApi.builder()
.version(ServerApiVersion.V1)
.build()
val uri = "<connection string>"
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.serverApi(serverApi)
.build()
val client = MongoClient.create(settings)

要了解有关stable API的更多信息,请参阅stable API 。

后退

后续步骤