定义
db.aggregate()运行不需要根本的集合的指定管理/诊断管道。 有关集合数据的聚合,请参阅
db.collection.aggregate()。重要
mongosh 方法
本页面提供
mongosh方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。有关数据库命令,请参阅
aggregate命令。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
注意
所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
db.aggregate() 方法使用的语法如下:
db.aggregate( [ <pipeline> ], { <options> } )
注意
db.aggregate()可以接受管道阶段作为单独的参数,而不是作为大量中的元素。如果不将pipeline 指定为大量,则无法指定options 参数。
pipeline参数是要执行的阶段的大量。管道必须从不需要根本的集合的兼容阶段开始,例如$currentOp 或$listLocalSessions 。
options文档可包含以下字段:
字段 | 类型 | 说明 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 布尔 | |||||||||||
| 布尔 | 可选。允许写入临时文件。当设立为 | ||||||||||
| 文档 | |||||||||||
| non-negative integer | 可选。指定处理游标处理的时间限制(以毫秒为单位)。如果没有指定 maxTimeMS 的值,操作不会超时。值为 MongoDB 使用与 | ||||||||||
| 布尔 | 可选。仅当您指定 启用 | ||||||||||
| 文档 | 可选。指定读关注。
可能的读关注级别是:
有关读关注级别的更多信息,请参阅读关注级别。
| ||||||||||
| 文档 | 可选。 指定用于操作的排序规则。 排序规则允许用户为字符串比较指定特定于语言的规则,例如字母大小写和重音符号规则。 排序规则选项的语法如下: 指定排序规则时, 如果未指定排序规则,但集合具有默认排序规则(请参阅 如果没有为收集或操作指定排序规则,MongoDB 将使用先前版本中使用的简单二进制比较来进行字符串比较。 您不能为一个操作指定多个排序规则。例如,您不能为每个字段指定不同的排序规则,或者如果执行带排序的查找,则不能使用一种排序规则进行查找而另一种排序规则进行排序。 | ||||||||||
| 字符串或文档 | |||||||||||
| 字符串 | 可选。用户可以指定任意字符串来帮助通过数据库分析器、currentOp 和日志来跟踪操作。 | ||||||||||
| 文档 |
例子
管道 $currentOp
以下示例运行一个包含两个阶段的管道。 第一阶段运行$currentOp操作,第二阶段筛选该操作的结果。
use admin db.aggregate( [ { $currentOp : { allUsers: true, idleConnections: true } }, { $match : { shard: "shard01" } } ] )