Conecte-se ao MongoDB
Nesta página
Visão geral
Esta página contém exemplos de código que mostram como usar o driver Kotlin Sync para conectar seu aplicação ao MongoDB especificando várias configurações.
Dica
Opções de conexão
Para saber mais sobre as opções de conexão nesta página, consulte o link fornecido em cada seção. Você também pode visualizar o guia Especificar opções de conexão para saber mais.
Para usar um exemplo de conexão desta página, copie o exemplo de código no aplicativo de exemplo ou em seu próprio aplicativo. Certifique-se de substituir todos os espaços reservados nos exemplos de código, como <hostname>
, pelos valores relevantes para sua implantação do MongoDB.
Aplicativo de amostra
Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:
Verifique se você tem o driver Kotlin Sync instalado em seu projeto Maven ou Gradle.
Copie o seguinte código e cole-o em um novo arquivo
.kt
.Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.
1 import com.mongodb.kotlin.client.MongoClient 2 import org.bson.Document 3 4 fun 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 }
Conexão
As seções a seguir descrevem como se conectar a diferentes destinos, como uma instância local do MongoDB ou uma instância hospedada na nuvem no Atlas.
Sistemas locais
O código a seguir mostra a string de conexão de conexão para se conectar a uma instância local do MongoDB:
val uri = "mongodb://localhost:27017/" val mongoClient = MongoClient.create(uri)
Atlas
O seguinte código mostra a string de conexão de conexão para conectar a uma implantação hospedada no Atlas:
val uri = "mongodb+srv://<db_username>:<db_password>@<hostname/port>/?<options>" val mongoClient = MongoClient.create(uri)
Conjunto de réplicas
O seguinte código mostra a string de conexão de conexão para conectar a um conjunto de réplica:
val uri = "mongodb://<replica set member>:<port>/?replicaSet=<replica set name>" val mongoClient = MongoClient.create(uri)
Segurança da camada de transporte (TLS)
As seções a seguir descrevem como se conectar ao MongoDB enquanto habilita o protocolo TLS. Para saber mais sobre como usar o TLS com o driver Kotlin Sync, consulte Habilitar TLS em uma conexão.
Habilitar TLS
As seguintes guias demonstram como habilitar o TLS em uma conexão:
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)
Para saber mais sobre como habilitar o TLS, consulte Habilitar TLS no guia de configuração do TLS.
Desativar verificação de nome de host
As guias a seguir demonstram como desabilitar a verificação do nome do host ao se conectar usando o 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)
Compactação de rede
As seções a seguir descrevem como se conectar ao MongoDB enquanto especifica algoritmos de compressão de rede.
Algoritmos de compressão
As seguintes guias demonstram como especificar todos os compressores disponíveis durante a conexão ao 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)
zlibNível de compactação
As seguintes guias demonstram como especificar um nível de compressão para o compressor 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)
Seleção do Servidor
O seguinte código mostra uma string de conexão que especifica uma função de seleção de servidor :
val client = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>", server_selector=<selector function>)
Stable API
O seguinte código mostra como especificar as configurações da Stable API em uma instância do MongoClientSettings
:
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)
Para saber mais sobre a stable API, consulte stable API.