MongoDB-aggregate用法
MongoDB 中聚合(aggregate)方法可以对集合中的文档进行变换和组合,主要用于处理数据。语法:
1 | db.collection.aggregate(pipeline, options); |
管道操作符
MongoDB 的聚合管道将 MongoDB 文档在一个管道处理完毕后将结果传递给下一个管道处理,管道操纵是可以重复的。
管道聚合阶段:
1 |
group 查询操作符:
1 |
附加选项
- explain:布尔值,指定返回结果是否显示该操作的执行计划
- allowDiskUse:布尔值,指定该聚合操作是否使用磁盘。
每个阶段管道限制为 100MB 的内存。如果一个节点管道超过这个极限,MongoDB 将产生一个错误。为了能够在处理大型数据集,可以设置 allowDiskUse 为 true 来在聚合管道节点把数据写入临时文件。这样就可以解决 100MB 的内存的限制。 - cursor
- maxTimeMS
- bypassDocumentValidation
- readConcern
- collation
参考文档
https://docs.mongodb.com/manual/reference/method/db.collection.aggregate/#db.collection.aggregate
http://www.mongodb.org.cn/tutorial/19.html