我的文件庫

多根目錄側邊欄

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

原生聚合

說明如何從第一階段開始直接執行 MongoDB Driver 的 Bson 聚合階段,並在不重新實現 DSL 功能的情況下使用新 Driver 功能。


Driver-native 根聚合

aggregation() 會按照 MongoDB Driver 返回的 Bson 階段的調用順序從第一階段開始執行。DSL 不重新實現 Driver 聚合運算符,只負責 pipeline 執行、mapping、Reactor publisher、preview/explain 連接。Document 也是 Bson,因此可以直接傳遞。

java
結果映射

execute()

將結果映射為 source entity 類型。

執行(ResultType.class)

當聚合結果形狀與來源實體不一致時,映射到單獨的結果類型。

執行文件()

直接返回原始 MongoDB Document

MongoDB Driver 5.10 的 $score / $scoreFusion

1.0.0 不會創建 $score$scoreFusion 專用的包裝器。Driver 5.10 的 Aggregates.score(...) / Aggregates.scoreFusion(...) 已經返回 Bson 階段,因此直接傳遞給 stage(...)

java
java
在 Search / Vector 後添加 Bson 階段
java

Search/Vector 的 stage(Bson) 在強制性的第一階段 $search / $vectorSearch 之後進行。像 $scoreFusion 這樣的功能必須是管道的第一個階段,使用 aggregation()

聚合發佈者選項
java

preview() 和實際的 MongoDB explain() 也在根聚合構建器中得到支持。

© 2026 Byeolnaerim. 版權所有。介紹隱私政策