com.byeolnaerim:reactive-mongo-dsl
Menghubungkan query dinamis, agregasi, lookup, pembaruan atomik, bulk, Atlas Search, dan Pencarian Vektor dengan DSL konsisten berbasis Reactor sambil memanfaatkan fitur MongoDB Reactive Streams Driver.
Reactive Mongo DSL 1.0.0
reactive-mongo-dsl adalah pustaka Java yang menghubungkan kondisi dinamis, pencarian, paging, agregasi, $lookup, pengelompokan, pembaruan atomik, bulk, Atlas Search, dan Pencarian Vektor dalam satu aliran chaining di atas MongoDB Reactive Streams Driver dan Project Reactor.
Driver-first
Tidak menggantikan MongoDB Java Driver. Builder bertipe yang disediakan Driver tetap digunakan, dan DSL menyederhanakan kombinasi berulang dan koneksi Reactor.
Inti yang independen dari framework
Inti tidak bergantung langsung pada Spring Data MongoDB. DriverMongoExecutionContext dasar menggunakan Driver Reactive Streams secara langsung.
Escape hatch
Dapat menerima Bson, SearchOperator, VectorSearchQuery, dan kustomisasi opsi Driver secara langsung, sehingga meskipun fitur baru ditambahkan ke Driver, tetap dapat digunakan dalam aliran DSL yang ada.
Berdasarkan 1.0.0
Artifact
com.byeolnaerim:reactive-mongo-dsl:1.0.0
Java
21+
MongoDB Java Driver
Berdasarkan 5.10.0
Reactor
Berdasarkan Reactor BOM 2025.0.7
Spring Data MongoDB
Opsional. Dalam proyek Spring, menghubungkan pengaturan pemetaan/auditing yang ada sebagai adapter sisi aplikasi.
build.gradle
textAlur eksekusi utama
Query umum
executeEntity(...) -> fields(...) -> end() -> find/findAll/count/distinct/delete/exists/atomicUpdate
Agregasi native Driver.
Menyusun pipeline Driver secara langsung dari stage pertama dengan executeEntity(...).aggregation().stage(Bson)....
Atlas Search
Menyusun operator dan terminal khusus $search di executeEntity(...).search(index).
Pencarian Vektor
Menyusun query vektor, ANN/ENN, filter, dan opsi vektor bersarang di executeEntity(...).vectorSearch(index).
Transaksi
getTxJob(...) meneruskan ClientSession MongoDB ke Reactor Context.