Docs Menu
Docs Home
/ /
Corrutina de kotlin

Desarrolladores

Esta sección incluye guías sobre cómo utilizar cada uno de los constructores disponibles y demuestra la utilidad que proporcionan las clases de constructores del controlador Kotlin de MongoDB.

El controlador Kotlin proporciona clases para simplificar el proceso de uso de las operaciones CRUD y la API de Agregación para los desarrolladores. Los métodos de utilidad estáticos permiten crear consultas de forma más eficiente.

Al utilizar la clase de constructores, aprovechas el poder de:

  • El compilador Kotlin y el IDE para encontrar errores durante el desarrollo

  • El IDE para descubrimiento y finalización de código

Cuando se utilizan desarrolladores, el compilador de Kotlin y el IDE detectan errores como operadores mal escritos a tiempo. Cuando se usa la shell de MongoDB o Kotlin simple, se guardan operadores como cadenas y no se obtiene una indicación visual de un problema, lo que hace que estos errores se lleven a tiempo de ejecución en lugar de a tiempo de compilación.

Con las clases desarrolladoras, se guardan los operadores como métodos. El IDE subraya instantáneamente y muestra una barra roja a la derecha para indicar que algo anda mal. Mientras se desarrolla, el IDE también muestra los métodos disponibles. Completa automáticamente tu código con parámetros temporales una vez que selecciones el método a utilizar.

Imaginemos que queremos enviar un correo electrónico de marketing a todos los usuarios de nuestra users Colección con los siguientes criterios:

  • Usuarios que se identifican con el género female

  • Usuarios mayores de 29

Solo queremos su dirección de correo electrónico, así que nos aseguraremos de que nuestra query no devuelva datos por los que pagamos costos de ancho de banda pero no necesitamos.

Los documentos de la colección users se modelan con la siguiente clase de datos en nuestra aplicación:

data class User(
@BsonId
val id: BsonObjectId = BsonObjectId(),
val gender: String,
val age: Int,
val email: String,
)
collection.find({ "gender": "female", "age" : { "$gt": 29 }}, { "_id": 0, "email": 1 })
data class Results(val email: String)
val filter = Document().append("gender", "female").append("age", Document().append("\$gt", 29))
val projection = Document().append("_id", 0).append("email", 1)
val results = collection.find<Results>(filter).projection(projection)
import com.mongodb.client.model.Filters
import com.mongodb.client.model.Projections
data class Results(val email: String)
val filter = Filters.and(Filters.eq(User::gender.name, "female"), Filters.gt(User::age.name, 29))
val projection = Projections.fields(Projections.excludeId(), Projections.include("email"))
val results = collection.find<Results>(filter).projection(projection)
  • Agregados para construcción de tuberías de agregación.

  • Filtros para crear filtros de query.

  • Índices para crear claves de índice.

  • Proyecciones para la creación de proyecciones.

  • Ordena para construir criterios de ordenación.

  • Actualizaciones para actualizaciones de edificios.

Volver

Expresiones de agregación

En esta página