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

Desarrolladores

Esta sección incluye guías sobre cómo utilizar cada uno de los desarrolladores disponibles y demuestra la utilidad que proporcionan las clases desarrolladoras del driver de Java Reactive Streams.

El driver Java Reactive Streams incluye clases de desarrolladores para operaciones CRUD y la API de agregación. Los métodos de utilidad estáticos le permiten compilar querys y otros documentos de manera más eficiente.

Cuando utiliza clases de desarrolladores, aprovecha las siguientes funcionalidades:

  • El compilador de Java para encontrar errores durante el desarrollo

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

Las clases de desarrolladores permiten que el compilador de Java y el IDE detecten errores, como operadores mal escritos o parámetros faltantes, desde el principio. Si utiliza la shell de MongoDB o Java simple, escribe los operadores como strings y no obtiene ninguna indicación visual de un problema, lo que lleva estos errores a tiempo de ejecución en lugar de tiempo de compilación.

Al utilizar clases constructoras, puedes escribir operadores como métodos, de modo que tu IDE indique instantáneamente si tu código contiene errores. Mientras desarrollas, tu IDE también puede mostrarte métodos que puedes usar, y puede completar tu código con parámetros de marcador de posición.

Supón que quieres enviar un correo electrónico de marketing a todos los usuarios de la colección users que cumplan con los siguientes requisitos:

  • Usuarios en los que el valor del campo gender es "female"

  • Usuarios en los que el valor del campo age es mayor que 29

También necesitas que tu query devuelva solo sus direcciones de correo electrónico.

Los documentos de la colección users están modelados por la siguiente clase:

record User(
@BsonId ObjectId id,
String gender,
int age,
String email
)

El siguiente código proporciona el comando que usted usa en el MongoDB Shell para realizar la query:

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

El siguiente código proporciona la operación de búsqueda que se crea sin desarrolladores en el driver de Java Reactive Streams:

Bson filter = new Document().append("gender", "female").append("age", new Document().append("$gt", 29));
Bson projection = new Document().append("_id", 0).append("email", 1);
Flux.from(collection.find(filter).projection(projection))
.doOnNext(doc -> System.out.println(doc.toJson()))
.blockLast();

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 código proporciona la operación find que creas utilizando desarrolladores en el driver de Java Reactive Streams:

import static com.mongodb.client.model.Filters.*;
import static com.mongodb.client.model.Projections.*;
Bson filter = and(eq("gender", "female"), gt("age", 29));
Bson projection = fields(excludeId(), include("email"));
Flux.from(collection.find(filter).projection(projection))
.doOnNext(doc -> System.out.println(doc.toJson()))
.blockLast();