谈MongoDB伟大的聚合管道(Aggregation Pipeline)

MongoDB聚合管道

 

使用聚合管道可以对集合中的文档进行变换和组合。 管道是由一个个功能节点组成的,这些节点用管道操作符来进行表示。聚合管道以一个集合中的所有文档作为开始,然后这些文档从一个操作节点流向下一个节点 ,每个操作节点对文档做相应的操作。这些操作可能会创建新的文档或者过滤掉一些不符合条件的文档,在管道中可以对文档进行重复操作。 管道表达式只可以操作当前管道中的文档,不能访问其他的文档:表达式操作可以在内存中完成对文档的转换。

语法格式:

 

 

db.runCommand({

 

 

    aggregate: "<collection>",

 

 

    pipeline: [ <stage>, <...> ],

 

 

    explain: <boolean>,

 

 

    allowDiskUse: <boolean>,

 

 

    cursor: <document>,

 

 

    bypassDocumentValidation: <boolean>

 

 

    })

 

 

//或
					

 

 

    db.collection.aggregate([ <pipeline>, <...> ], options)

 

参数说明:

操作符

描述

aggregate

要聚合的集合名称

pipeline

管道操作符

explain

返回指定aggregate各个阶段管道的执行计划信息

allowDiskUse

每个阶段管道限制为100MB的内存,如果大于100MB的数据可以先写入临时文件。设置为true时,aggregate操作可时可以先将数据写入对应数据目录的子目录中 的唯一并以_tmp结尾的文档中。

cursor

指定游标的初始批批大小。光标的字段的值是一个与场batchSize文件。 }

bypassDocumentValidation

只有当你指定了$out操作符,使db.collection.aggregate绕过文档验证操作过程中。这让您插入不符合验证要求的文档。

 

https://yq.aliyun.com/articles/614429?utm_content=m_1000007214

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值