Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

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 desarrolladores disponibles, consulta las siguientes secciones de la documentación de la API:

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 extraer los valores del campo email de los documentos en la colección users que cumplen 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 query:

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 Use Desarrolladores with Data Classes guía proporciona ejemplos sobre cómo utilizar las clases de desarrolladores anteriores directamente con las propiedades de las data classes. Esta guía puede ayudarte a hacer que tu aplicación sea más segura en cuanto a tipos y mejorar la interoperabilidad con Kotlin.