选择聚合管道阶段
Atlas Search 查询在 聚合管道阶段中运行,这是执行聚合的首选方法。
聚合操作处理多个文档并返回计算结果。您可以使用聚合操作来:
将多个文档中的值组合在一起。
对分组数据执行操作,返回单一结果。
分析一段时间内的数据变化。
您可以使用 $search
或 $searchMeta
阶段作为聚合管道的第一阶段。
聚合管道阶段 | 说明 |
---|---|
进行全文搜索,并返回文档的有序列表以及其他搜索元数据。使用 | |
执行全文搜索并返回元数据,而不获取文档。使用 |
之后 $search
或 $searchMeta
阶段完成后,可以使用其他聚合阶段进一步处理文档。例如,除了其他阶段之外,您还可以使用以下一个或多个阶段:
聚合管道阶段 | 说明 |
---|---|
限制传递至管道下一阶段的文档数量。 | |
跳过进入该阶段的文档,并将剩余的文档传递到管道的下一阶段。 | |
将带有所请求字段的文档传递至管道中的下一个阶段。 | |
为文档添加新字段。 | |
在单个阶段内处理同一组输入文档上的多个聚合管道。 | |
根据指定的查询谓词筛选文档,并将匹配的文档传递到下一个管道阶段。 | |
通过分组键将具有相同字段或表达式的文档合并为单个文档。 | |
对同一数据库中的集合执行左外连接,以处理“已连接”集合中的文档过滤处理。 |
当您将这些阶段添加到聚合管道时,请考虑潜在的重大性能影响。
为了提高性能,我们建议您使用 $limit
来处理搜索结果,根据需要对搜索结果进行分页,并在参考点之后检索搜索结果。