聚合
聚合操作将来自多个文档分组在一起,并可以对分组数据执行各种操作,然后返回单个结果。
MongoDB提供了三种聚合方式:
- Aggregation Pipeline
- Map-Reduce Function
- Single Purpose Aggreation Methods
Aggregations Pipeline
聚合管道主要用于对数据的查询,转换和修改。
格式:
1 | db.orders.aggregate([ |
基础的聚合使用 聚合操作
来进行查询。聚合操作也可以在分布式集合(Sharding
Collection)中使用。
优化:
聚合管道还可以通过索引来优化性能。
Single Purpose Aggregation Operations
Mongodb 使用
estimateDocumentCount()
、count()
、distinct()
来从集合中聚合文档。
Map-Reduce
从 5.0 开始,map-reduce 已经弃用。
Map-reduce 操作将大量的数据转成有用的聚合数据。