对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

聚合管道和分片集合

聚合管道支持针对分片集合的操作。本部分介绍聚合管道和分片集合的特定行为。

如果管道严格以 $match 开头(位于分片键上),并且管道不包含 $out$lookup 阶段,则整个管道都只在匹配的分片上运行。

当聚合操作在多个分片上运行时,结果会被路由到 mongos 进行合并,以下情况除外:

  • 如果管道包含 $out$lookup 阶段,则合并将在主分片上运行。

  • 如果管道包含排序或分组阶段,且启用了 allowDiskUse 设置,则合并会在随机选择的分片上运行。

将聚合管道分割为两部分时,管道的分割是为了确保分片执行尽可能多的阶段,并考虑到优化。

要如需查看管道是如何分割的,请在 db.collection.aggregate() 方法中加入 explain 选项。

优化可能因版本而异。

在此页面上