聚合命令比较


进入MongoDB中文手册(4.2版本)目录

下表简要概述了MongoDB聚合命令的功能。

\aggregate/
db.collection.aggregate()
mapReduce/
db.collection.mapReduce()
描述设计的特定目标是提高聚合任务的性能和可用性。
使用“管道”方法,通过一系列的管道运算符,例如$group, $match和$sort,来转换对象 。
有关管道运算符的更多信息,请参见聚合管道运算符。
实现用于处理大型数据集的Map-Reduce聚合。
主要特点可以根据需要重复管道运算符。
管道运算符不必为每个输入文档都生成一个输出文档。
也可以生成新文档或过滤掉文档。
在版本4.2中通过添加$merge,可以创建物化视图,在该视图中可以逐步运行管道来更新输出集合的内容。$merge可以将结果(插入新文档,合并文档,替换文档,保留现有文档,使操作失败,使用自定义更新管道处理文档)合并到现有集合中。
除分组操作外,还可以执行复杂的聚合任务以及对不断增长的数据集执行增量聚合。
请参阅Map-Reduce示例,以及执行增量Map-Reduce。
灵活性限于聚合管道支持的运算符和表达式。
但是,可以使用$project管道运算符添加计算字段,创建新的虚拟子对象以及将子字段提取到结果的顶层 。
有关更多信息,请参见$project,以及有关所有可用管道运算符的更多信息,请参见聚合管道运算符。
自定义map,reduce以及finalizeJavaScript函数提供了灵活性,来实现聚合逻辑。
有关功能的详细信息和限制,请参见mapReduce。
输出结果返回结果作为游标。如果管道包括一个$out或多个$merge阶段,则游标为空。
使用$out,您可以完全替换现有的输出集合,也可以将其输出到新集合。有关详细信息,请参见 $out。
使用$merge,您可以输出到新集合或现有集合。对于现有选项,您可以指定如何将结果合并到输出集合中(插入新文档,合并文档,替换文档,保留现有文档,操作失败,使用自定义更新管道处理文档)。有关详细信息,请参见$merge。
以各种选项(内联,新收集,合并,替换,缩小)返回结果。有关输出选项的详细信息,请参见mapReduce。
分片支持非分片和分片输入集合。
$merge 可以输出到非分片或分片集合。
支持非分片和分片输入集合。
更多信息聚集管道
db.collection.aggregate()
aggregate
Map-Reduce
db.collection.mapReduce()
mapReduce


进入MongoDB中文手册(4.2版本)目录

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值