Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Utilizar patrón de código de desarrolladores

Esta página describe cómo utilizar los distintos desarrolladores disponibles en el código y los beneficios de usar los desarrolladores proporcionados.

El driver de Kotlin Sync proporciona métodos y clase type-safe builder que permiten a los desarrolladores crear query y agregación de manera eficiente.

Para obtener más información sobre las clases y métodos de creación disponibles, consulte las siguientes secciones de la documentación de la API:

  • Acumuladores

  • Agregados

  • Filtros

  • Indexes

  • Proyecciones

  • Ordena

  • Updates

Si utilizas solo Kotlin plano para construir documentos de query BSON, no puedes identificar errores de sintaxis hasta tiempo de ejecución. Los desarrolladores ayudan a garantizar la corrección de la sintaxis y pueden ser menos verbosos que construir documentos BSON.

Esta sección proporciona tres formas equivalentes de obtener el email valores de campo de los documentos en la colección users que cumplen con los siguientes criterios:

  • gender el valor es "female"

  • age el valor es mayor que 29

La siguiente clase de datos modela los documentos en la colección users:

data class User(
@BsonId val id: ObjectId,
val gender: String,
val age: Int,
val email: String
)

La siguiente clase de datos modela los resultados devueltos por la consulta:

data class Email(
val email: String
)

El siguiente muestra realiza la query usando la API de query de MongoDB:

collection.find(
{ "gender": "female", "age" : { "$gt": 29 }},
{ "_id": 0, "email": 1 }
)

El siguiente ejemplo realiza la query utilizando la clase Document para construir el filtro de query:

val filter = Document("gender", "female").append("age", Document("\$gt", 29))
val projection = Document("_id", 0).append("email", 1)
val results = collection.find<Email>(filter).projection(projection)

En este caso, podrías incluir fácilmente un error al escribir el operador "\$gt" en el filtro, pero tu IDE solo devuelve el error relevante en tiempo de ejecución.

El siguiente ejemplo realiza la query usando los desarrolladores asistentes:

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<Email>(filter).projection(projection)

La La guía Usar desarrolladores con Data Classes ofrece ejemplos de cómo utilizar los constructores precedentes directamente con las propiedades de la Data class. Esta guía podría ayudar a hacer que tu aplicación sea más segura en cuanto a tipos y mejorar la interoperabilidad con Kotlin.

Volver

Expresiones de agregación

En esta página