MongoDB管道聚合各阶段

简介:

管道聚合各阶段

   

名称

描述

$project

改造流中的文档,像通过增加新的字段或移除存在的字段。对于每一个输入文档,输出一个文档。

$match

过滤文档流,只允许匹配的文档不经过修改进入到下一个管道阶段。$match使用标准的MongoDB查询。对于每个输入文档,输出要么一个文档(匹配一个)要么零个文档(无匹配)。

$redact

通过限制文档的内容(基于存储于文档它们自己的信息),改造流中每个文档。结合$project和$match的功能。可用于实施字段级别的校订。对于每个输入文档,输出要么一个要么另个文档。

$limit

当n指定值时,传递前n个文档不经修改给管道。对于每个输入文档,输出要么一个文档(对于前n个文档)要么零个文档(在前n个文档之后)。

$skip

当n指定为跳过数量时,跳过前n个文档,并传递剩下的文档不经过修改给管道。对于每一个输入文档,输出要么零个文档(对于前n个文档)要么一个文档(如果在前n个文档之后)。

$unwind

对于每一个元素,从输入文档解构数组字段输出一个文档。每个输出文档使用元素值替换数组。对于每个输入文档,当n为数组元素个数,输出n个文档,对于空数组可以为零。

$group

通过指定标识符表达式分组输入的文档,并应用累加器表达式,如果指定,到每个分组。遍历所有的输入文档,对于每个不同的分组输出一个文档。输出文档只包含标识符列和计算列(如果指定)。

$sort

通过指定的排序键重排文档流。只有顺序改变了;文档保持不变。对于每个输入文档,输出一个文档。

$geoUear

返回一个排序的基于临近一个地理空间点的文档流。对于地理空间数据,结合$match、$sort和$limit功能。输出文档包含额外的距离字段,并可以包含一个位置标识符字段。

$out

写聚合管道的结果文档到一个集合。在使用$out阶段,它必需是管道中的最后一个阶段。



额外资源















本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1661308 ,如需转载请自行联系原作者
相关文章
|
SQL NoSQL Unix
MongoDB聚合操作总结
这篇文章总结了MongoDB中聚合操作的作用、方法、常见聚合表达式以及聚合管道的概念和常用操作符,以及SQL与MongoDB聚合操作的对应关系。
1329 2
MongoDB聚合操作总结
|
SQL NoSQL Unix
MongoDB 聚合
10月更文挑战第17天
185 4
|
NoSQL MongoDB 数据库
python3操作MongoDB的crud以及聚合案例,代码可直接运行(python经典编程案例)
这篇文章提供了使用Python操作MongoDB数据库进行CRUD(创建、读取、更新、删除)操作的详细代码示例,以及如何执行聚合查询的案例。
546 6
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
461 1
|
NoSQL BI 数据处理
【超实用攻略】MongoDB 聚合框架:从入门到精通,带你解锁数据处理新姿势!
【8月更文挑战第24天】MongoDB是一款以其灵活性和高性能闻名的NoSQL数据库。其强大的聚合框架采用管道式处理,允许用户定义多个数据处理阶段如过滤、分组等。本文通过示例数据库`orders`和`products`,演示如何利用聚合框架计算各产品的总销售额。示例代码展示了使用`$lookup`连接两集合、`$unwind`打平数组及`$group`按产品ID分组并计算总销售额的过程。这突显了聚合框架处理复杂查询的强大能力,是进行数据分析和报表生成的理想选择。
359 3
|
存储 NoSQL JavaScript
MongoDB存储过程实战:聚合框架、脚本、最佳实践,一文全掌握!
【8月更文挑战第24天】MongoDB是一款备受欢迎的文档型NoSQL数据库,以灵活的数据模型和强大功能著称。尽管其存储过程支持不如传统关系型数据库,本文深入探讨了MongoDB在此方面的最佳实践。包括利用聚合框架处理复杂业务逻辑、封装业务逻辑提高复用性、运用JavaScript脚本实现类似存储过程的功能以及考虑集成其他工具提升数据处理能力。通过示例代码展示如何创建订单处理集合并定义验证规则,虽未直接实现存储过程,但有效地演示了如何借助JavaScript脚本处理业务逻辑,为开发者提供更多实用指导。
398 2
|
存储 NoSQL 数据处理
【MongoDB大神级操作】揭秘聚合框架,让你的数据处理能力瞬间飙升,秒变数据界的超级英雄!
【8月更文挑战第24天】MongoDB是一款备受欢迎的非关系型数据库,以其灵活的文档模型和出色的可扩展性著称。其聚合框架尤其亮眼,能高效地对数据库中的数据执行复杂的转换与聚合操作,无需将数据导出到应用端处理,极大提升了数据处理的效率与灵活性。例如,在一个大型电商数据库中,聚合框架能轻松分析出最热卖的商品或特定时段内某类别商品的销售总额。通过一系列管道操作,如$unwind、$group等,可以对数据进行逐步处理并得到最终结果,同时还支持过滤、排序、分页等多种操作,极大地丰富了数据处理的能力,成为进行数据分析、报表生成及复杂业务逻辑实现的强大工具。
312 2
|
NoSQL 数据挖掘 数据处理
【MongoDB 专栏】MongoDB 聚合管道:数据分析利器
【5月更文挑战第10天】MongoDB的聚合管道是数据分析利器,它通过一系列阶段(如\$match、\$group、\$project等)处理和转换数据,实现过滤、分组、统计等功能。适用于复杂的数据分析任务,能高效处理大量数据并提供实时洞察。在电商、日志和金融等领域有广泛应用。注意索引优化和避免过度聚合,以确保准确性和效率。借助聚合管道,我们可以深入挖掘数据价值,驱动业务发展。
346 3
【MongoDB 专栏】MongoDB 聚合管道:数据分析利器
|
SQL NoSQL 数据处理
深入探索MongoDB的聚合操作
【10月更文挑战第13天】
511 0
|
NoSQL 数据挖掘 数据处理
深入浅出:MongoDB聚合管道的技术详解
深入浅出:MongoDB聚合管道的技术详解

推荐镜像

更多