Entrypoints

จุดเริ่มต้นสาธารณะสำหรับ execution context และ Query, Search, Vector Search, root aggregation ใน Reactive Mongo DSL 1.0.0


สร้าง ReactiveMongoDsl

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

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

MongoTemplateResolver<K>#getTemplate(K)

คืนค่า MongoExecutionContext ที่ตรงกับ key

getMongoTemplate(K)

ตรวจสอบ MongoExecutionContext ของ key ปัจจุบันผ่าน resolver

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

ดำเนินการ DSL transaction บน ClientSession

Execution builders

executeEntity(Class<E>, K)

เลือก collection/mapping context โดยใช้ entity class และ resolver key

executeCustomClass(Class<E>, K, String)

ระบุประเภทผลลัพธ์และชื่อ collection ทางกายภาพโดยตรง

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

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

จุดเริ่มต้นของ Builder

fields(...) / fields()

สร้างเงื่อนไข Mongo ทั่วไปด้วย FieldsPair และ logical grouping

driverFilter(Bson)

ส่งต่อ filter ของ MongoDB Driver เป็นเงื่อนไข query ทั่วไป

search([index])

เริ่มต้น builder สำหรับ Atlas Search

vectorSearch(index)

เริ่มต้น builder สำหรับ Vector Search

aggregation()

เริ่มต้น root aggregation โดยจัดทำ pipeline ตั้งแต่ stage แรกด้วย Driver-native Bson

operation ที่ทำได้โดยไม่ต้องใช้ condition builder

save(E) / saveAll(...)

ใช้ insert/replace หน่วย entity และใช้ save lifecycle hook

saveAllBulk(...)

bulk insert โดยใช้ insertMany

saveAllBulkUpsert(...)

unordered bulk upsert ตาม entity id

saveAllBulkUpsertByKey(...)

unordered bulk upsert ตาม composite key ของงาน

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

entity 삭제와 optional <collection>_remove 백업

createHistory(entity[, prefix])

บันทึก snapshot ของเอกสารปัจจุบันใน history collection แยกต่างหาก