com.byeolnaerim:reactive-mongo-dsl
Conecta consultas dinâmicas, agregações, lookups, atualizações atômicas, bulk, Atlas Search e Vector Search em um DSL consistente baseado em Reactor, aproveitando as funcionalidades do MongoDB Reactive Streams Driver.
Reactive Mongo DSL 1.0.0
reactive-mongo-dsl é uma biblioteca Java que conecta condições dinâmicas, consultas, paginação, agregação, $lookup, agrupamento, atualizações atômicas, bulk, Atlas Search e Vector Search em um fluxo de encadeamento sobre o MongoDB Reactive Streams Driver e Project Reactor.
Driver-first
Não substitui o MongoDB Java Driver. O builder tipado fornecido pelo Driver é utilizado, enquanto o DSL simplifica combinações repetitivas e conexões com o Reactor.
núcleo independente de framework
O núcleo não depende diretamente do Spring Data MongoDB. O DriverMongoExecutionContext básico usa diretamente o Reactive Streams Driver.
Escape hatch
Permite receber diretamente Bson, SearchOperator, VectorSearchQuery, e customizador de opções do Driver, para que novas funcionalidades do Driver possam ser usadas dentro do fluxo existente do DSL.
com base em 1.0.0
Artifact
com.byeolnaerim:reactive-mongo-dsl:1.0.0
Java
21+
MongoDB Java Driver
com base em 5.10.0
Reactor
com base no Reactor BOM 2025.0.7
Spring Data MongoDB
Opcional. Em projetos Spring, conecta as configurações de mapeamento/auditoria existentes como adaptador do lado da aplicação.
build.gradle
textFluxo de execução principal
Consulta geral
executeEntity(...) -> fields(...) -> end() -> find/findAll/count/distinct/delete/exists/atomicUpdate
Agregação nativa do Driver.
Constrói diretamente o pipeline do Driver a partir do primeiro estágio com executeEntity(...).aggregation().stage(Bson)....
Atlas Search
Configura o operador e terminal exclusivo de $search em executeEntity(...).search(index).
Pesquisa Vetorial
Configura o vetor de consulta, ANN/ENN, filtro e opção de vetor aninhado em executeEntity(...).vectorSearch(index).
Transação
getTxJob(...) propaga o ClientSession do MongoDB para o Contexto do Reactor.