MongoDB聚合命令比较
admin
2023-04-12 00:02:13
0次

MongoDB聚合命令比较


以下表格提供了MongoDB聚合命令属性的简要概述。



aggregate

mapReduce

group

描述

在2.2版本中新增加。

以提供聚合任务的性能和可用性的目的设计。

使用管道途径来转换对象,传递管道操作符序列,像$group、$match和$sort。

关于管道操作符的更多信息,查看《聚合管道操作符》。

实施Map-Reduce聚合以处理大数据集合。

提供分组功能。

比aggregate命令慢,比mapReduce命令功能若。

关键属性

管道操作符可以按需重复。

管道操作符对于每个输入文档不必产生一个输出文档。

也可以生成新的文档或过滤文档。

除了分组操作,可以实施复杂的聚合任务以及对逐渐增长的数据集的增量聚合。

查看《Map-Reduce示例》和《实施增量Map-Reduce》。

可以要么通过存在的字段分组,要么通过客户端keyf JavaScript函数,通过计算列分组。

查看《group》更多使用keyf函数的信息和示例。

伸缩性

限制了支持聚合管道的操作符和表达式。

然而,可以添加计算列,创建新的虚拟自对象,通过使用$project管道操作符抽取子列到结果的顶层。

查看《$project》更多信息,以及《聚合管道操作符》更多关于所有可用管道操作符的信息。

客户端map、reduce和finalize JavaScript函数提供对聚合逻辑的伸缩性。

查看《mapReduce》关于函数的具体信息和限制。

客户端reduce和finalize JavaScript函数提供对分组逻辑的伸缩性。

查看《group》关于函数的具体信息和限制。

输出结果

以各种选项返回结果(内联为一个包含结果集的文档,一个结果集的游标)或存储结果在一个集合中。

如果返回内联为一个包含结果集的文档,结果集受到BSON文档大小的限制。

在2.6版本的修改:

可以返回结果集为游标或存储结果到一个集合。

以各种选项返回结果(内联,新集合,merge,replace,reduce)。查看mapReduce关于输出选项的详细信息。

在2.2版本的修改:

对于分片map-reduce输出相比之前的版本,提供了更好的支持。

返回结果内联为一个分组条目的数组。

结果集必需符合最大BSON文档大小限制。

在2.2版本的修改:

返回的数组可以包含最多20000个元素;也就是最多20000个唯一分组。之前的版本有10000个元素的限制。

分片

支持不分片和分片输入集合。

支持不分片和分片输入集合。

不支持分片集合。

注意

 

在2.4版本之前,Javascript代码以单线程执行。

在2.4版本之前,Javascript代码以单线程执行。

更多信息

查看聚合管道和aggregate。

查看Map-Reduce和mapReduce。

查看group。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...