Entrypoints

Reactive Mongo DSL 1.0.0에서 실행 컨텍스트와 Query, Search, Vector Search, root aggregation을 시작하는 공개 진입점입니다.


ReactiveMongoDsl 생성

java
MongoTemplateResolver<MongoTemplateName> resolver = key -> contextByKey(key);

ReactiveMongoDsl<MongoTemplateName> dsl = new ReactiveMongoDsl<>(resolver);

MongoTemplateResolver<K>#getTemplate(K)

key에 대응하는 MongoExecutionContext를 반환

getMongoTemplate(K)

resolver를 통해 현재 key의 MongoExecutionContext 조회

getTxJob(K, Supplier<Mono<...>>)

ClientSession 기반 DSL transaction 실행

Execution builders

executeEntity(Class<E>, K)

entity class와 resolver key로 collection/mapping context 선택

executeCustomClass(Class<E>, K, String)

결과 타입과 physical collection 이름을 직접 지정

java
var users = dsl.executeEntity(User.class, MongoTemplateName.FRONT);

var archive = dsl.executeCustomClass(
    Document.class,
    MongoTemplateName.FRONT,
    "user_archive"
);

Builder 진입점

fields(...) / fields()

FieldsPair와 logical grouping으로 일반 Mongo 조건 구성

driverFilter(Bson)

MongoDB Driver filter를 그대로 일반 query 조건으로 전달

search([index])

Atlas Search 전용 builder 시작

vectorSearch(index)

Vector Search 전용 builder 시작

aggregation()

pipeline 첫 stage부터 Driver-native Bson으로 구성하는 root aggregation 시작

조건 builder 없이 가능한 operation

save(E) / saveAll(...)

entity 단위 insert/replace와 save lifecycle hook 적용

saveAllBulk(...)

insertMany 기반 bulk insert

saveAllBulkUpsert(...)

entity id 기준 unordered bulk upsert

saveAllBulkUpsertByKey(...)

업무 복합키 기준 unordered bulk upsert

delete(entity[, backup]) / deleteBulk(...)

entity 삭제와 optional <collection>_remove 백업

createHistory(entity[, prefix])

별도 history collection에 현재 document snapshot 저장

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