com.byeolnaerim:reactive-mongo-dsl
Conecta consultas dinámicas, agregaciones, búsquedas, actualizaciones atómicas, bulk, Atlas Search y Vector Search en un DSL coherente basado en Reactor, aprovechando las capacidades del Driver de Streams Reactivos de MongoDB.
Reactive Mongo DSL 1.0.0
reactive-mongo-dsl es una biblioteca Java que conecta condiciones dinámicas, consultas, paginación, agregaciones, $lookup, agrupaciones, actualizaciones atómicas, bulk, Atlas Search y Vector Search en un flujo de encadenamiento sobre el Driver de Streams Reactivos de MongoDB y Project Reactor.
Driver-first
No reemplaza al Driver de Java de MongoDB. El constructor tipado proporcionado por el Driver se utiliza tal cual, y el DSL simplifica la combinación repetitiva y la conexión con Reactor.
Núcleo independiente del framework
El núcleo no depende directamente de Spring Data MongoDB. El DriverMongoExecutionContext básico utiliza directamente el Driver de Streams Reactivos.
Escape hatch
Se pueden recibir directamente Bson, SearchOperator, VectorSearchQuery, y personalizadores de opciones del Driver, lo que permite usar nuevas funciones del Driver dentro del flujo existente del DSL.
Basado en 1.0.0
Artifact
com.byeolnaerim:reactive-mongo-dsl:1.0.0
Java
21+
MongoDB Java Driver
Basado en 5.10.0
Reactor
Basado en Reactor BOM 2025.0.7
Spring Data MongoDB
Es opcional. En proyectos de Spring, se conecta la configuración de mapeo/auditoría existente como adaptador del lado de la aplicación.
build.gradle
textFlujo de ejecución principal
Consulta general
executeEntity(...) -> fields(...) -> end() -> find/findAll/count/distinct/delete/exists/atomicUpdate
Agregación nativa del Driver.
Configura directamente el pipeline del Driver desde la primera etapa con executeEntity(...).aggregation().stage(Bson)....
Búsqueda en Atlas
Configura el operador y terminal exclusivo de $search en executeEntity(...).search(index).
Búsqueda Vectorial
Configura el vector de consulta, ANN/ENN, filtro y opción de vector anidado en executeEntity(...).vectorSearch(index).
Transacción
getTxJob(...) propaga el ClientSession de MongoDB al contexto de Reactor.