原生聚合
说明如何从第一阶段开始直接执行 MongoDB Driver 的 Bson 聚合阶段,并在不重新实现 DSL 功能的情况下使用新 Driver 功能。
Driver-native 根聚合
aggregation() 从 MongoDB Driver 返回的 Bson 阶段开始按调用顺序执行。DSL 不重新实现 Driver 聚合操作符,仅负责管道执行、映射、Reactor 发布者、预览/解释连接。Document 也是 Bson,因此可以直接传递。
结果映射
execute()
将结果映射为源实体类型。
execute(ResultType.class)
当聚合结果形状与源实体不同时,映射为单独的结果类型。
executeDocument()
原始 MongoDB Document 将被直接返回。
MongoDB Driver 5.10 的 $score / $scoreFusion
1.0.0 不会创建 $score 和 $scoreFusion 的专用包装器。Driver 5.10 的 Aggregates.score(...) / Aggregates.scoreFusion(...) 已经返回 Bson 阶段,因此直接传递给 stage(...)。
在 Search / Vector 后添加 Bson 阶段
Search/Vector 的 stage(Bson) 紧跟在强制性第一个阶段 $search/$vectorSearch 之后。像 $scoreFusion 这样的功能需要将阶段本身作为管道的第一个。使用 aggregation()。
聚合发布者选项
preview() 和实际 MongoDB explain() 也在根聚合构建器中得到支持。