Overview
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 Java de MongoDB.
El controlador de Java proporciona clases para simplificar el proceso para que los desarrolladores utilicen las operaciones CRUD y la API de agregación. Los métodos utilitarios estáticos permiten compilar una query de manera más eficiente.
¿Por qué utilizar Builders?
Al utilizar la clase de constructores, aprovechas el poder de:
El compilador de Java y el IDE para encontrar errores durante el desarrollo
El IDE para descubrimiento y finalización de código
Al usar constructores, el compilador de Java y el IDE detectan errores como operadores mal escritos desde el principio. Al usar el shell de MongoDB o Java simple, se escriben los operadores como cadenas y no se observa ningún problema visual, lo que lleva estos errores al tiempo de ejecución en lugar de al 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.
Scenario
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 como género "femenino"
Usuarios mayores de "29"
Solo queremos su dirección de correo electrónico, por lo que queremos asegurarnos de que nuestra consulta no devuelva datos por los que pagamos costos de ancho de banda pero que no necesitamos.
Uso del shell de MongoDB
collection.find({ "gender": "female", "age" : { "$gt": 29 }}, { "_id": 0, "email": 1 })
Sin usar constructores
Bson filter = new Document().append("gender", "female").append("age", new Document().append("$gt", 29)); Bson projection = new Document().append("_id", 0).append("email", 1); collection.find(filter).projection(projection);
Uso de constructores
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")); collection.find(filter).projection(projection);
Constructores disponibles
Filtros para crear filtros de query.
Proyecciones para la creación de proyecciones.
Ordena para construir criterios de ordenación.
Actualizaciones para actualizaciones de edificios.
Agregados para construcción de tuberías de agregación.
Índices para crear claves de índice.