Overview
Puedes usar el controlador de sincronización de Kotlin para conectarte y comunicarte con MongoDB. Esta guía le muestra cómo crear una aplicación que utilice el controlador Kotlin Sync para conectarse a un clúster de MongoDB alojado en MongoDB Atlas e interactuar con datos.
Tip
MongoDB Atlas es un servicio de base de datos gestionada en la nube que aloja las implementaciones de MongoDB. Se puede crear una implementación propia gratuita de MongoDB Atlas (sin necesidad de tarjeta de crédito) siguiendo los pasos de esta guía.
Sigue esta guía para conectar una aplicación de muestra Kotlin a una implementación de MongoDB Atlas. Si prefieres conectarte a MongoDB usando un driver diferente o un lenguaje de programación, consulta el Lista de drivers oficiales de MongoDB.
Descargue e instale
Esta sección demuestra cómo crear un proyecto y añadir las dependencias del driver Kotlin sincronizar utilizando Gradle o Maven.
Crea un proyecto de Kotlin.
Primero, asegúrate de que tu sistema tenga Kotlin instalado y ejecutándose en JDK 1.8 o posterior.
Recomendamos usar un entorno de desarrollo integrado (IDE) como IntelliJ IDEA o Eclipse IDE para configurar Gradle o Maven y así compilar y ejecutar tu proyecto.
Tip
Si no estás utilizando un IDE, consulta la Guía para crear nuevas compilaciones de Gradle o la Guía para la compilación con Maven para obtener más información sobre cómo configurar tu proyecto.
Para obtener más información sobre cómo comenzar con Kotlin y crear tu primer Proyecto, consulta Cómo comenzar con Kotlin/JVM en la documentación del lenguaje Kotlin.
Añade la Bill of Materials del Driver.
En tu IDE, crea un nuevo Maven o Gradle proyecto. Agrega la lista de materiales (BOM) para los artefactos JVM de MongoDB a tu proyecto para organizar las versiones de las dependencias. El BOM simplifica la gestión de dependencias al garantizar que mantengas versiones consistentemente compatibles de las dependencias, como entre el driver Kotlin Sync y la librería principal del driver. Utiliza el BOM para evitar conflictos de versiones y simplificar las actualizaciones.
Seleccione de lo siguiente Maven y Gradle pestañas para ver las instrucciones de añadir la BOM para cada gestor de dependencias:
Agregue el siguiente código al dependencyManagement lista en su archivo pom.xml:
<dependencyManagement> <dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-bom</artifactId> <version>5.6.4</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
Agrega el siguiente código a la lista de dependencias en tu archivo build.gradle.kts. Los ejemplos de código en esta guía utilizan el lenguaje específico del dominio (DSL) de Kotlin para Gradle:
dependencies { implementation(platform("org.mongodb:mongodb-driver-bom:5.6.4")) }
Para ver una lista de dependencias que gestiona el BOM, consulta la mongodb-driver-bom dependency listing en el sitio web de Maven Repositorio.
Agrega MongoDB como una dependencia.
Si utilizas Gradle para administrar tus paquetes, agrega la siguiente entrada a tu lista de dependencias de build.gradle.kts:
dependencies { implementation("org.mongodb:mongodb-driver-kotlin-sync") }
Si está utilizando Maven para administrar sus paquetes, agregue la siguiente entrada a su lista de dependencias pom.xml:
<dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-kotlin-sync</artifactId> </dependency> </dependencies>
Dado que instaló la BOM, puede omitir una versión en la entrada de dependencia del controlador de sincronización de Kotlin. La versión que especifique en la BOM determinará las versiones de dependencia que se instalarán.
Después de configurar tus dependencias, se debe garantizar de que estén disponibles para el proyecto ejecutando el administrador de dependencias y actualizando el proyecto en el IDE.
Añade las dependencias de la librería de serialización.
Para permitir que el controlador convierta entre objetos Kotlin y BSON, el formato de datos para documentos en MongoDB, también debes agregar uno o ambos de los siguientes paquetes de serialización a tu aplicación:
bson-kotlinx(Recomendado)bson-kotlin
Si estás usando Gradle para gestionar tus paquetes, agrega una de las siguientes entradas a tu lista de dependencias build.gradle.kts:
implementation("org.mongodb:bson-kotlinx") // OR implementation("org.mongodb:bson-kotlin")
Si usas Maven para gestionar tus paquetes, añade una de las siguientes entradas a tu lista de dependencias pom.xml:
<dependency> <groupId>org.mongodb</groupId> <artifactId>bson-kotlinx</artifactId> </dependency> <!--OR--> <dependency> <groupId>org.mongodb</groupId> <artifactId>bson-kotlin</artifactId> </dependency>
Después de configurar tus dependencias, se debe garantizar de que estén disponibles para el proyecto ejecutando el administrador de dependencias y actualizando el proyecto en el IDE.
Para obtener más información sobre estos paquetes, consulta Serialización de Datos.
Después de completar estos pasos, tendrá un nuevo directorio de proyecto y las dependencias del driver instaladas.
Cree una implementación de MongoDB
Se puede crear una implementación de nivel gratuito de MongoDB en MongoDB Atlas para almacenar y gestionar los datos. MongoDB Atlas aloja y gestiona la base de datos MongoDB en la nube.
Cree una implementación gratuita de MongoDB en Atlas.
Complete la guía de inicio de MongoDB para configurar una nueva cuenta de Atlas y cargar datos de muestra en una nueva implementación de MongoDB de nivel gratuito.
Después de completar estos pasos, tendrá una nueva implementación de nivel gratuito de MongoDB en Atlas, credenciales de usuario de base de datos y datos de muestra cargados en su base de datos.
Crear una cadena de conexión
Puede conectarse a su implementación de MongoDB proporcionando un URI de conexión, también llamado cadena de conexión, que instruye al controlador sobre cómo conectarse a una implementación de MongoDB y cómo comportarse mientras está conectado.
La cadena de conexión incluye el nombre de host o la dirección IP y el puerto de la implementación, el mecanismo de autenticación, las credenciales de usuario cuando sea aplicable, y las opciones de conexión.
Para conectarse con una instancia o implementación que no esté alojada en Atlas, se puede consultar la guía Elegir un destino de conexión.
Encuentra tu cadena de conexión de MongoDB Atlas.
Para recuperar la cadena de conexión para la implementación que creó en el paso anterior, inicie sesión en su cuenta de Atlas y navegue a la página Clusters bajo la sección Database. Haga clic en el botón Connect para la nueva implementación.

Si aún no tienes un usuario de base de datos configurado, MongoDB te pedirá que crees y configures un nuevo usuario.
Haz clic en el botón Drivers en la sección Connect to your application y selecciona "Kotlin" en el menú de selección Driver y la versión que mejor se adapte a la versión que instalaste en el menú de selección Version.
Asegúrate de que la opción View full code sample esté desmarcada para ver solo la cadena de conexión.
Actualiza el marcador de posición de la contraseña.
Pega esta cadena de conexión en un archivo en tu editor de texto preferido y reemplaza el marcador de posición <db_password> con la contraseña de tu usuario de base de datos. La cadena de conexión ya está completada con el nombre de usuario de tu usuario de base de datos.
Guarda este archivo en una ubicación segura para usarlo en el siguiente paso.
Después de completar estos pasos, hay una cadena de conexión que contiene el nombre de usuario y la contraseña de la base de datos.
Ejecuta una query de muestra
Cree el archivo de la aplicación.
Se debe crear un archivo llamado DemoDataClassExample.kt en el proyecto.
Copie el siguiente código de muestra en el archivo y reemplace el valor del marcador de posición <connection URI string> con la cadena de conexión de MongoDB Atlas que guardó en el paso anterior.
import com.mongodb.client.model.Filters.eq import com.mongodb.kotlin.client.MongoClient // Create data class to represent a MongoDB document data class Movie(val title: String, val year: Int, val directors: List<String>) fun main() { // Replace the placeholder with your MongoDB deployment's connection string val uri = "<connection string URI>" val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix") val collection = database.getCollection<Movie>("movies") // Find a document with the specified title val doc = collection.find(eq(Movie::title.name, "Before Sunrise")).firstOrNull() if (doc != null) { // Print the matching document println(doc) } else { println("No matching documents found.") } }
Nota
Este ejemplo utiliza una data clase de Kotlin para modelar los datos de MongoDB.
Ejecuta la aplicación.
Al ejecutar la aplicación, imprime los detalles de un documento de película que coincide con la query, como se muestra en la siguiente salida:
Movie(title=Before Sunrise, year=1995, directors=[Richard Linklater])
Si no ves ningún resultado o recibes un error, verifica si incluiste la cadena de conexión correcta en tu aplicación. Además, verifica que hayas cargado correctamente el conjunto de datos de muestra en tu clúster de MongoDB Atlas.
Después de completar este paso, dispones de una aplicación funcional que utiliza el driver Kotlin sincronizar para conectarse a su clúster de MongoDB, ejecutar una query sobre los datos de muestra e imprimir el resultado.
Utilice la clase Documento para modelar datos (alternativa).
El paso anterior demuestra cómo ejecutar una query en una colección de muestra para recuperar datos utilizando una clase de datos de Kotlin. Esta sección muestra cómo utilizar la clase Documento para almacenar y recuperar datos de MongoDB.
En un archivo llamado DemoDocumentExample.kt, pega el siguiente código de muestra para ejecutar una query en tu conjunto de datos de muestra en MongoDB Atlas. Sustituya el valor del marcador de posición <connection URI string> por su cadena de conexión de MongoDB Atlas:
import com.mongodb.client.model.Filters.eq import com.mongodb.kotlin.client.MongoClient import org.bson.Document fun main() { // Replace the placeholder with your MongoDB deployment's connection string val uri = "<connection URI string>" val mongoClient = MongoClient.create(uri) val database = mongoClient.getDatabase("sample_mflix") val collection = database.getCollection<Document>("movies") // Find a document with the specified title val doc = collection.find(eq("title", "Before Sunrise")).firstOrNull() if (doc != null) { // Print the matching document println(doc) } else { println("No matching documents found.") } }
Al ejecutar la aplicación, imprime los detalles de un documento de película que coincide con la query, como se muestra en la siguiente salida:
Document{{_id=..., plot=A young man and woman ..., genres=[Drama, Romance], ...}}
Si no ves ningún resultado o recibes un error, verifica si incluiste la cadena de conexión correcta en tu aplicación. Además, verifica que hayas cargado correctamente el conjunto de datos de muestra en tu clúster de MongoDB Atlas.
Después de completar estos pasos, habrá una aplicación en funcionamiento que utiliza el driver para conectarse a la implementación de MongoDB, ejecuta una query sobre los datos de muestra e imprime el resultado.
Tip
Clases de datos
Para obtener más información sobre el uso de clases de datos para almacenar y recuperar datos, consulte la guía Formato de datos del documento: Clases de datos.
Próximos pasos
¡Felicidades por completar el tutorial!
Nota
Si te encuentras con problemas en este tutorial, envía tus comentarios utilizando la pestaña Rate this page ubicada en el lado derecho o en la parte inferior derecha de esta página.
Puede encontrar soporte para preguntas generales mediante la etiqueta Stack Overflow de MongoDB o la comunidad de Reddit de MongoDB.
En este tutorial, creaste una aplicación de Kotlin que se conecta a una implementación de MongoDB alojada en MongoDB Atlas y recupera un documento que coincide con una query.
Aprende más sobre el driver Sync de Kotlin en los siguientes recursos:
Aprende a realizar operaciones de lectura en la sección Buscar documentos.
Aprende a realizar operaciones de escritura en la sección Insertar Documentos.
