重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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。 |