Mongo DB 【Aggregation框架】

166 阅读1分钟

Mongo DB

  • 很强大,有指数级的速度
  • 以开创性的方式,跨文档进行聚合

Aggregation

  1. 首先,查找到document
  2. 过滤
  3. 分组
  4. 其他操作,例如排序
  5. 然后,得到结果

Aggregation的两种框架

  • Mongo DB带的Aggregation框架:
    • 使用pipeline的形式
    • pipeline上传递整个collection
    • 一组预定义的操作符,操作符
      • 是固定的
      • 可重复
      • 不是所有的操作符都是Aggregation框架支持的
      • 无需产生输出
    • 便于setup
    • 适用于中小型collection
  • Map Reduce:
    • collection是固定的
    • function是在collection的子集上面执行
    • 支持复杂操作
    • 输出灵活
    • 适用于大型collection