Menu Docs
Página inicial do Docs
/ / /
Kotlin Coroutine

Início rápido do driver Kotlin

Nesta página

  • Introdução
  • Configurar seu projeto
  • Install Kotlin
  • Criar o projeto
  • Adicionar MongoDB como dependência
  • Adicionar dependências da biblioteca de serialização
  • Criar um cluster MongoDB
  • Conecte-se ao seu cluster
  • Consulte seu cluster MongoDB a partir de seu aplicativo
  • Trabalhando com a classe de documento (Alternativa)
  • Próximos passos

Este guia mostra como criar um aplicativo que usa o driver Kotlin para se conectar a um cluster do MongoDB Atlas. Se você preferir se conectar ao MongoDB usando um driver ou linguagem de programação diferente, consulte alista de drivers oficiais do MongoDB.

O driver Kotlin permite se conectar e se comunicar com clusters do MongoDB a partir de um aplicativo Kotlin.

O MongoDB Atlas é um serviço de banco de dados em nuvem totalmente gerenciado que hospeda seus dados em clusters MongoDB. Neste guia, você pode aprender como começar a usar seu próprio cluster gratuito.

Dica

Para ver outro exemplo que demonstra como criar um aplicativo em Kotlin que se conecta ao MongoDB Atlas, consulte o tutorial de Comece a usar o driver Kotlin do MongoDB.

Certifique-se de que seu sistema tenha o Kotlin instalado e em execução no JDK 1.8 ou posterior. Para obter mais informações sobre como começar a desenvolver o Kotlin/ JVM , consulte Introdução ao Kotlin/ JVM na documentação da linguagem Kotlin .

Este guia mostra como adicionar as dependências do driver MongoDB Kotlin usando Gradle ou Maven. Recomendamos que você use um ambiente de desenvolvimento integrado (IDE) como IntelliJ IDEA ou Eclipse IDE para configurar Gradle ou Maven para construir e executar seu projeto.

Se você não estiver usando um IDE, consulte o guia Criando novas compilações do Gradle ou o guia Construindo Maven para obter mais informações sobre como configurar seu projeto.

Se você estiver usando o Gradle para gerenciar seus pacotes, adicione a seguinte entrada à sua build.gradle.kts lista de dependências do :

build.gradle.kts
dependencies {
implementation("org.mongodb:mongodb-driver-kotlin-coroutine:5.2.1")
}

Se você estiver usando o Maven para gerenciar seus pacotes, adicione a seguinte entrada à sua pom.xml lista de dependências do :

pom.xml
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-kotlin-coroutine</artifactId>
<version>5.2.1</version>
</dependency>
</dependencies>

Depois de configurar suas dependências, certifique-se de que elas estejam disponíveis para seu projeto executando o gerenciador de dependências e atualizando o projeto em seu IDE.

Para habilitar o driver para converter entre objetos Kotlin e BSON, o formato de dados para documentos no MongoDB, você também deve adicionar um ou ambos os seguintes pacotes de serialização ao seu aplicativo:

  • bson-kotlinx (Recomendado)

  • bson-kotlin

Se você estiver usando o Gradle para gerenciar seus pacotes, adicione uma das seguintes entradas à sua lista de dependências do build.gradle.kts:

build.gradle.kts
implementation("org.mongodb:bson-kotlinx:5.2.1")
// OR
implementation("org.mongodb:bson-kotlin:5.2.1")

Se você estiver usando o Maven para gerenciar seus pacotes, adicione uma das seguintes entradas à sua lista de dependências do pom.xml:

pom.xml
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson-kotlinx</artifactId>
<version>5.2.1</version>
</dependency>
<!--OR-->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson-kotlin</artifactId>
<version>5.2.1</version>
</dependency>

Depois de configurar suas dependências, certifique-se de que elas estejam disponíveis para seu projeto executando o gerenciador de dependências e atualizando o projeto em seu IDE.

Para saber mais sobre esses pacotes, consulte Serialização Kotlin .

Após configurar suas dependências de projeto Kotlin, crie um cluster MongoDB no qual você pode armazenar e gerenciar seus dados. Conclua o tutorial Comece a usar o Atlas para configurar uma nova conta do Atlas, criar e iniciar um cluster MongoDB de camada gratuita e carregar conjuntos de dados de exemplo.

Depois de concluir as etapas do tutorial de Introdução ao Atlas, você terá um novo cluster MongoDB implantado no Atlas, um novo utilizador de banco de dados e dados de amostra carregados no cluster.

Esta etapa mostra como criar e executar um aplicativo que usa o driver Kotlin para se conectar ao cluster MongoDB e executar uma consulta sobre os dados de amostra.

Primeiro, você deve especificar como o driver se conecta ao seu cluster MongoDB incluindo uma connection string em seu código. Essa string inclui informações sobre o nome do host ou o endereço IP e a porta do cluster, o mecanismo de autenticação, as credenciais do usuário e outras opções de conexão.

Se estiver se conectando a uma instância ou cluster que não esteja hospedado no Atlas, consulte a seção Outras maneiras de se conectar ao MongoDB do Guia de Conexão para obter instruções sobre como formatar sua connection string.

Para recuperar a connection string para o cluster e o usuário criados na etapa anterior, faça login na sua conta do Atlas e navegue até a página Database em Sistema e clique no botão Connect do seu cluster, que é mostrado na imagem a seguir:

Atlas Connection GUI cluster selection screen

Selecione a opção Drivers para conexão e selecione Kotlin na lista de drivers e 4.10 or later no menu suspenso de versões.

Em seguida, clique no ícone Copy, que está destacado na seguinte imagem, para copiar sua connection string para sua área de transferência:

Atlas Connection GUI connection string screen

Salve sua cadeia de conexão do Atlas em um local seguro que você pode acessar para a próxima etapa.

Em seguida, crie um arquivo chamado QuickStartDataClassExample.kt em seu projeto.

Copie o código de exemplo a seguir no arquivo e substitua o valor da variável uri pela cadeia de conexão do MongoDB Atlas que você salvou na etapa anterior. Substitua o espaço reservado "<password>" da connection string pela senha que você definiu para o usuário com permissões atlasAdmin:

QuickStartDataClassExample.kt
import com.mongodb.client.model.Filters.eq
import com.mongodb.kotlin.client.coroutine.MongoClient
import io.github.cdimascio.dotenv.dotenv
import kotlinx.coroutines.flow.firstOrNull
import kotlinx.coroutines.runBlocking
// Create data class to represent a MongoDB document
data class Movie(val title: String, val year: Int, val cast: List<String>)
fun main() {
// Replace the placeholder with your MongoDB deployment's connection string
val uri = CONNECTION_STRING_URI_PLACEHOLDER
val mongoClient = MongoClient.create(uri)
val database = mongoClient.getDatabase("sample_mflix")
// Get a collection of documents of type Movie
val collection = database.getCollection<Movie>("movies")
runBlocking {
val doc = collection.find(eq("title", "Back to the Future")).firstOrNull()
if (doc != null) {
println(doc)
} else {
println("No matching documents found.")
}
}
mongoClient.close()
}

Observação

Este exemplo usa uma classe de dados Kotlin para modelar dados MongoDB.

Ao executar a função main, o aplicativo imprime os detalhes de um documento de filme que corresponde à consulta, como mostrado na seguinte saída:

Movie(
title=Back to the Future,
year=1985,
cast=[Michael J. Fox, Christopher Lloyd, Lea Thompson, Crispin Glover]
)

Dica

Classes de dados

Para saber mais sobre o uso de classes de dados para armazenar e recuperar dados, consulte o guia Document Data Format: Classes de dados.

Se você não vir nenhuma saída ou receber um erro, verifique se incluiu a connection string adequada em seu aplicação. Além disso, confirme se você carregou com êxito o conjunto de dados de amostra em seu cluster MongoDB Atlas.

Importante

Problema de connection conhecido ao usar TLS v. 1.3

Se você encontrar o erro a seguir ao se conectar à sua instância do MongoDB, deverá atualizar seu JDK para a versão de patch mais recente:

javax.net.ssl.SSLHandshakeException: extension (5) should not be presented in certificate_request

Essa exceção é um problema conhecido ao usar o protocolo TLS 1,3 com versões específicas do JDK, mas esse problema é corrigido para as seguintes versões do JDK:

  • JDK 11.0.7

  • JDK 13.0.3

  • JDK 14.0.2

Para resolver esse erro, atualize seu JDK para uma das versões anteriores do patch ou para uma versão mais recente.

Depois de concluir esta etapa, você tem um aplicativo funcional que usa o driver Kotlin para se conectar ao cluster MongoDB, executar uma consulta nos dados de amostra e imprimir o resultado.

A seção anterior demonstra como executar uma consulta em uma coleção de exemplo para recuperar dados usando uma classe de dados Kotlin. Esta seção mostra como usar a classe Documento para armazenar e recuperar dados do MongoDB.

Em um novo arquivo denominado QuickStartDocumentExample.kt, cole o seguinte código de amostra para executar uma consulta no seu conjunto de dados de amostra no Atlas MongoDB. Substitua o valor da variável uri pela connection string do MongoDB Atlas:

QuickStartDocumentExample.kt
import com.mongodb.client.model.Filters.eq
import com.mongodb.kotlin.client.coroutine.MongoClient
import io.github.cdimascio.dotenv.dotenv
import kotlinx.coroutines.flow.firstOrNull
import kotlinx.coroutines.runBlocking
import org.bson.Document
fun main() {
// Replace the placeholder with your MongoDB deployment's connection string
val uri = CONNECTION_STRING_URI_PLACEHOLDER
val mongoClient = MongoClient.create(uri)
val database = mongoClient.getDatabase("sample_mflix")
val collection = database.getCollection<Document>("movies")
runBlocking {
val doc = collection.find(eq("title", "Back to the Future")).firstOrNull()
if (doc != null) {
println(doc.toJson())
} else {
println("No matching documents found.")
}
}
mongoClient.close()
}

Ao executar a função main, o aplicativo imprime os detalhes de um documento de filme que corresponde à consulta, como mostrado na seguinte saída:

{
_id: ...,
plot: 'A young man is accidentally sent 30 years into the past...',
genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ],
...
title: 'Back to the Future',
...
}

Se você não vir nenhuma saída ou receber um erro, verifique se incluiu a connection string adequada em seu aplicação. Além disso, confirme se você carregou com êxito o conjunto de dados de amostra em seu cluster MongoDB Atlas.

Para saber mais sobre o driver do Kotlin, consulte os guias de Fundamentos, que descrevem conceitos relevantes em detalhes e fornecem exemplos de código para executar tarefas diferentes.

Voltar

MongoDB Kotlin driver