com.byeolnaerim:reactive-mongo-dsl
Nutzen Sie die Funktionen des MongoDB Reactive Streams Drivers, um dynamische Abfragen, Aggregationen, Lookups, atomare Updates, Bulk, Atlas Search und Vector Search in einer konsistenten DSL auf Basis von Reactor zu verbinden.
Reactive Mongo DSL 1.0.0
reactive-mongo-dsl ist eine Java-Bibliothek, die dynamische Bedingungen, Abfragen, Paging, Aggregationen, $lookup, Gruppierungen, atomare Updates, Bulk, Atlas Search und Vector Search in einem einzigen Kettenfluss verbindet, basierend auf dem MongoDB Reactive Streams Driver und Project Reactor.
Driver-first
Ersetzt nicht den MongoDB Java Driver. Der vom Treiber bereitgestellte typisierte Builder wird weiterhin verwendet, und die DSL vereinfacht die wiederholte Kombination und Verbindung mit Reactor.
Framework-unabhängiger Kern
Der Kern ist nicht direkt von Spring Data MongoDB abhängig. Der grundlegende DriverMongoExecutionContext verwendet direkt den Reactive Streams Driver.
Escape hatch
Kann direkt Bson, SearchOperator, VectorSearchQuery und Treiberoptionen anpassen, sodass neue Funktionen des Treibers auch innerhalb des bestehenden DSL-Flusses verwendet werden können.
Basierend auf 1.0.0
Artifact
com.byeolnaerim:reactive-mongo-dsl:1.0.0
Java
21+
MongoDB Java Driver
Basierend auf 5.10.0
Reactor
Reactor BOM basierend auf 2025.0.7
Spring Data MongoDB
Optional. In Spring-Projekten wird der bestehende Mapping-/Auditierungs-Adapter auf Anwendungsebene verbunden.
build.gradle
textHauptausführungsfluss
Allgemeine Abfrage
executeEntity(...) -> fields(...) -> end() -> find/findAll/count/distinct/delete/exists/atomicUpdate
Driver-native Aggregation.
Konfiguriert die Treiber-Pipeline direkt ab der ersten Stage mit executeEntity(...).aggregation().stage(Bson)....
Atlas-Suche
Konfiguriert den $search-spezifischen Operator und das Terminal mit executeEntity(...).search(index).
Vektorsuche
Konfiguriert den Abfragevektor, ANN/ENN, Filter und die Option für verschachtelte Vektoren mit executeEntity(...).vectorSearch(index).
Transaktion
getTxJob(...) überträgt die MongoDB ClientSession in den Reactor-Kontext.