com.byeolnaerim:reactive-mongo-dsl
يستخدم ميزات MongoDB Reactive Streams Driver بينما يربط الاستعلامات الديناميكية، التجميع، البحث، التحديث الذري، الدفعات، بحث Atlas وبحث المتجهات مع DSL متسق قائم على Reactor.
Reactive Mongo DSL 1.0.0
reactive-mongo-dsl هي مكتبة Java تربط الشروط الديناميكية، الاستعلامات، التصفح، التجميع، $lookup، التجميع، التحديث الذري، الدفعات، بحث Atlas وبحث المتجهات في تدفق واحد متسلسل على MongoDB Reactive Streams Driver و Project Reactor.
Driver-first
لا تحل محل MongoDB Java Driver. يتم استخدام الباني المطبوع الذي يوفره السائق كما هو، بينما تبسط DSL التراكيب المتكررة والاتصالات مع Reactor.
نواة مستقلة عن الإطار
النواة لا تعتمد مباشرة على Spring Data MongoDB. يستخدم DriverMongoExecutionContext الأساسي Driver Reactive Streams مباشرة.
Escape hatch
يمكن استلام Bson، SearchOperator، VectorSearchQuery، ومخصص خيارات السائق مباشرة، مما يسمح باستخدام الميزات الجديدة للسائق ضمن تدفق DSL الحالي.
استنادًا إلى 1.0.0
Artifact
com.byeolnaerim:reactive-mongo-dsl:1.0.0
Java
21+
MongoDB Java Driver
استنادًا إلى 5.10.0
Reactor
استنادًا إلى Reactor BOM 2025.0.7
Spring Data MongoDB
اختياري. في مشاريع Spring، يتم ربط إعدادات التعيين/التدقيق الحالية كموصل على جانب التطبيق.
build.gradle
textتدفق التنفيذ الرئيسي
استعلام عادي
executeEntity(...) -> fields(...) -> end() -> find/findAll/count/distinct/delete/exists/atomicUpdate
تجميع Driver-native.
يمكن تكوين خط أنابيب السائق مباشرة من المرحلة الأولى باستخدام executeEntity(...).aggregation().stage(Bson)....
بحث Atlas
يمكن تكوين مشغل خاص بـ $search والنهائي في executeEntity(...).search(index).
بحث المتجهات
يمكن تكوين متجه الاستعلام، ANN/ENN، الفلتر، وخيار المتجه المتداخل في executeEntity(...).vectorSearch(index).
Transaction
getTxJob(...) ينقل ClientSession الخاص بـ MongoDB إلى سياق Reactor.