Docs 菜单
Docs 主页
/
Atlas
/ / /

选择聚合管道阶段

Atlas Search 查询在 聚合管道阶段中运行,这是执行聚合的首选方法。

聚合操作处理多个文档并返回计算结果。您可以使用聚合操作来:

  • 将多个文档中的值组合在一起。

  • 对分组数据执行操作,返回单一结果。

  • 分析一段时间内的数据变化。

您可以使用 $search$searchMeta 阶段作为聚合管道的第一阶段。

聚合管道阶段
说明

进行全文搜索,并返回文档的有序列表以及其他搜索元数据。使用 $search 来检索带有或不带有分面的匹配文档。

执行全文搜索并返回元数据,而不获取文档。使用 $searchMeta检索有关搜索结果的元数据,例如匹配文档或分面的总数。

之后 $search$searchMeta 阶段完成后,可以使用其他聚合阶段进一步处理文档。例如,除了其他阶段之外,您还可以使用以下一个或多个阶段:

聚合管道阶段
说明

限制传递至管道下一阶段的文档数量。

跳过进入该阶段的文档,并将剩余的文档传递到管道的下一阶段。

将带有所请求字段的文档传递至管道中的下一个阶段。

为文档添加新字段。

在单个阶段内处理同一组输入文档上的多个聚合管道。

根据指定的查询谓词筛选文档,并将匹配的文档传递到下一个管道阶段。

通过分组键将具有相同字段或表达式的文档合并为单个文档。

对同一数据库中的集合执行左外连接,以处理“已连接”集合中的文档过滤处理。

当您将这些阶段添加到聚合管道时,请考虑潜在的重大性能影响。

为了提高性能,我们建议您使用 $limit 来处理搜索结果,根据需要对搜索结果进行分页,并在参考点之后检索搜索结果。

后退

查询参考