My Library Docs

Multi-root Sidebar

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

MongoDB Reactive Streams Driver의 기능을 그대로 활용하면서 동적 query, aggregation, lookup, atomic update, bulk, Atlas Search와 Vector Search를 Reactor 기반의 일관된 DSL로 연결합니다.


Reactive Mongo DSL 1.0.0

reactive-mongo-dsl은 MongoDB Reactive Streams Driver와 Project Reactor 위에서 동적 조건, 조회, paging, aggregation, $lookup, grouping, atomic update, bulk, Atlas Search와 Vector Search를 하나의 체이닝 흐름으로 연결하는 Java 라이브러리입니다.

Driver-first

MongoDB Java Driver를 대체하지 않습니다. Driver가 제공하는 typed builder는 그대로 활용하고 DSL은 반복적인 조합과 Reactor 연결을 단순화합니다.

Framework-independent core

코어는 Spring Data MongoDB에 직접 의존하지 않습니다. 기본 DriverMongoExecutionContext는 Reactive Streams Driver를 직접 사용합니다.

Escape hatch

Bson, SearchOperator, VectorSearchQuery, Driver option customizer를 직접 받을 수 있어 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 프로젝트에서는 애플리케이션 측 adapter로 기존 mapping/auditing 설정을 연결합니다.

build.gradle
text
주요 실행 흐름

일반 Query

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

Driver-native Aggregation

executeEntity(...).aggregation().stage(Bson)...으로 첫 stage부터 Driver pipeline을 직접 구성합니다.

Atlas Search

executeEntity(...).search(index)에서 $search 전용 operator와 terminal을 구성합니다.

Vector Search

executeEntity(...).vectorSearch(index)에서 query vector, ANN/ENN, filter, nested vector option을 구성합니다.

Transaction

getTxJob(...)이 MongoDB ClientSession을 Reactor Context로 전파합니다.

© 2026 Byeolnaerim. All rights reserved.소개개인정보처리방침