Luồng truy vấn
Phân biệt luồng truy vấn chung bắt đầu từ executeEntity/executeCustomClass với aggregation gốc, Tìm kiếm Atlas, Tìm kiếm Vector.
1. Chọn ngữ cảnh thực thi
executeEntity(Class<E>, key)
Chọn loại thực thể và khóa resolver, tên collection được xác định bởi MongoExecutionContext#getCollectionName(...).
executeCustomClass(Class<E>, key, collectionName)
Chỉ định trực tiếp loại ánh xạ kết quả và tên collection thực tế.
2. Luồng truy vấn chung
Các tác vụ như save, saveAll, thao tác hàng loạt, xóa thực thể và createHistory không cần builder điều kiện sẽ được gọi trực tiếp từ builder thực thi. Không có terminal update() công khai riêng và cập nhật điều kiện sử dụng atomicUpdate().
3. Luồng có ràng buộc ở stage đầu tiên
aggregation()
Người dùng cấu hình trực tiếp pipeline Bson của Driver từ stage đầu tiên.
tìm-kiếm(index)
Builder chuyên dụng cho Tìm kiếm Atlas tuân thủ ràng buộc stage đầu tiên $search/$searchMeta.
tìm-kiếm-vector(index)
Builder chuyên dụng cho Tìm kiếm Vector tuân thủ ràng buộc stage đầu tiên $vectorSearch.
4. Lối thoát gốc của Driver
• Bộ lọc thông thường: driverFilter(Bson)
• Sắp xếp: SortSpec.driver(Bson)
• tổng hợp gốc: aggregation().stage(Bson)
• Toán tử/tùy chọn tìm kiếm: operator(SearchOperator), driverOptions(...), stage(Bson)
• Tùy chọn/truy vấn Vector: query(VectorSearchQuery), driverOptions(...), stage(Bson)
• Tùy chọn nhà xuất bản: customizeQuery(...), customizeAggregation(...)