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
Introdução
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.
Configurar seu projeto
Install Kotlin
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 .
Criar o projeto
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.
Adicionar MongoDB como dependência
Se você estiver usando o Gradle para gerenciar seus pacotes, adicione a seguinte entrada à sua build.gradle.kts
lista de dependências do :
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 :
<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.
Adicionar dependências da biblioteca de serialização
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
:
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
:
<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 .
Criar um cluster MongoDB
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.
Conecte-se ao seu 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:
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:
Salve sua cadeia de conexão do Atlas em um local seguro que você pode acessar para a próxima etapa.
Consulte seu cluster MongoDB a partir de seu aplicativo
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:
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.
Trabalhando com a classe de documento (Alternativa)
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:
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.
Próximos passos
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.