เอกสารในห้องสมุดของฉัน

แถบด้านข้างหลายราก

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

com.byeolnaerim:reactive-mongo-dsl

เชื่อมโยงการค้นหาแบบไดนามิก, การรวม, การค้นหา, การอัปเดตแบบอะตอม, bulk, Atlas Search และ Vector Search เข้ากับ DSL ที่สอดคล้องกันบนพื้นฐานของ Reactor โดยใช้ฟีเจอร์ของ MongoDB Reactive Streams Driver


Reactive Mongo DSL 1.0.0

reactive-mongo-dsl เป็นไลบรารี Java ที่เชื่อมโยงเงื่อนไขแบบไดนามิก, การค้นหา, paging, การรวม, $lookup, การจัดกลุ่ม, การอัปเดตแบบอะตอม, bulk, Atlas Search และ Vector Search เข้าด้วยกันในกระบวนการ chaining บน MongoDB Reactive Streams Driver และ Project Reactor

Driver-first

ไม่แทนที่ MongoDB Java Driver ใช้ builder ที่มีประเภทที่ Driver ให้มาและทำให้ DSL ง่ายขึ้นในการรวมและเชื่อมต่อกับ Reactor

Framework-independent core

คอร์ไม่ขึ้นอยู่กับ Spring Data MongoDB โดยตรง DriverMongoExecutionContext พื้นฐานจะใช้ Reactive Streams Driver โดยตรง

Escape hatch

สามารถรับ Bson, SearchOperator, VectorSearchQuery, และตัวปรับแต่งตัวเลือก Driver ได้โดยตรง ทำให้สามารถใช้ฟีเจอร์ใหม่ของ Driver ในกระบวนการ 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 จะเชื่อมโยงการตั้งค่า mapping/auditing ที่มีอยู่กับ adapter ด้านแอปพลิเคชัน

build.gradle
text
กระบวนการดำเนินการหลัก

Query ทั่วไป

executeEntity(...) -> fields(...) -> end() -> find/findAll/count/distinct/delete/exists/atomicUpdate

Aggregation แบบ Driver-native

กำหนด pipeline ของ Driver โดยตรงตั้งแต่ stage แรกด้วย executeEntity(...).aggregation().stage(Bson)...

Atlas Search

กำหนด operator และ terminal เฉพาะสำหรับ $search ด้วย executeEntity(...).search(index)

Vector Search

กำหนด query vector, ANN/ENN, filter, และตัวเลือกเวกเตอร์ที่ซ้อนกันด้วย executeEntity(...).vectorSearch(index)

Transaction

getTxJob(...) จะส่งต่อ MongoDB ClientSession ไปยัง Reactor Context