com.byeolnaerim:reactive-mongo-dsl
Tire parti des fonctionnalités du MongoDB Reactive Streams Driver tout en reliant des requêtes dynamiques, des agrégations, des recherches, des mises à jour atomiques, des opérations en masse, Atlas Search et Vector Search dans un DSL cohérent basé sur Reactor.
Reactive Mongo DSL 1.0.0
reactive-mongo-dsl est une bibliothèque Java qui relie des conditions dynamiques, des recherches, de la pagination, des agrégations, $lookup, du regroupement, des mises à jour atomiques, des opérations en masse, Atlas Search et Vector Search dans un flux de chaînage unique, sur MongoDB Reactive Streams Driver et Project Reactor.
Driver-first
Ne remplace pas le MongoDB Java Driver. Le constructeur typé fourni par le Driver est utilisé tel quel, et le DSL simplifie les combinaisons répétitives et les connexions Reactor.
Noyau indépendant du framework
Le noyau ne dépend pas directement de Spring Data MongoDB. Le DriverMongoExecutionContext de base utilise directement le Reactive Streams Driver.
Échappatoire
Peut recevoir directement Bson, SearchOperator, VectorSearchQuery, et le customizer d'options du Driver, permettant d'utiliser de nouvelles fonctionnalités du Driver dans le flux DSL existant.
Basé sur 1.0.0
Artifact
com.byeolnaerim:reactive-mongo-dsl:1.0.0
Java
21+
MongoDB Java Driver
Basé sur 5.10.0
Reactor
Basé sur Reactor BOM 2025.0.7
Spring Data MongoDB
Optionnel. Dans les projets Spring, connecte les paramètres de mapping/audit existants en tant qu'adaptateur côté application.
build.gradle
textFlux d'exécution principal
Requête générale
executeEntity(...) -> fields(...) -> end() -> find/findAll/count/distinct/delete/exists/atomicUpdate
Agrégation native du Driver.
Construit directement le pipeline du Driver à partir de la première étape avec executeEntity(...).aggregation().stage(Bson)....
Recherche Atlas
Configure l'opérateur et le terminal dédiés à $search avec executeEntity(...).search(index).
Recherche vectorielle
Configure le vecteur de requête, ANN/ENN, filtre, option de vecteur imbriqué avec executeEntity(...).vectorSearch(index).
Transaction
getTxJob(...) propage le ClientSession de MongoDB dans le contexte Reactor.