com.byeolnaerim:reactive-mongo-dsl
Kết nối các truy vấn động, tổng hợp, tìm kiếm, cập nhật nguyên tử, bulk, Atlas Search và Vector Search thành một DSL nhất quán dựa trên Reactor, trong khi vẫn tận dụng các tính năng của MongoDB Reactive Streams Driver.
Reactive Mongo DSL 1.0.0
reactive-mongo-dsl là thư viện Java kết nối các điều kiện động, tìm kiếm, phân trang, tổng hợp, $lookup, nhóm, cập nhật nguyên tử, bulk, Atlas Search và Vector Search thành một chuỗi duy nhất trên MongoDB Reactive Streams Driver và Project Reactor.
Driver-first
Không thay thế MongoDB Java Driver. Builder kiểu mà Driver cung cấp vẫn được sử dụng, trong khi DSL đơn giản hóa việc kết hợp lặp đi lặp lại và kết nối với Reactor.
Lõi độc lập với framework
Lõi không phụ thuộc trực tiếp vào Spring Data MongoDB. DriverMongoExecutionContext cơ bản sử dụng trực tiếp Reactive Streams Driver.
Escape hatch
Có thể nhận trực tiếp Bson, SearchOperator, VectorSearchQuery, tùy chỉnh tùy chọn Driver, cho phép sử dụng các tính năng mới của Driver trong dòng DSL hiện tại.
Dựa trên phiên bản 1.0.0
Artifact
com.byeolnaerim:reactive-mongo-dsl:1.0.0
Java
21+
MongoDB Java Driver
Dựa trên phiên bản 5.10.0
Reactor
Dựa trên Reactor BOM 2025.0.7
Spring Data MongoDB
Là tùy chọn. Trong dự án Spring, kết nối các thiết lập mapping/auditing hiện có như một adapter phía ứng dụng.
build.gradle
textLuồng thực thi chính
Truy vấn thông thường
executeEntity(...) -> fields(...) -> end() -> find/findAll/count/distinct/delete/exists/atomicUpdate
Tổng hợp gốc Driver.
Từ giai đoạn đầu tiên, cấu hình trực tiếp pipeline Driver bằng executeEntity(...).aggregation().stage(Bson)....
Tìm kiếm Atlas
Cấu hình toán tử và terminal chuyên dụng cho $search trong executeEntity(...).search(index).
Tìm kiếm vector
Cấu hình vector truy vấn, ANN/ENN, bộ lọc, tùy chọn vector lồng ghép trong executeEntity(...).vectorSearch(index).
Giao dịch
getTxJob(...) truyền ClientSession của MongoDB vào ngữ cảnh Reactor.