写点什么

MongoDB 中的 Group By

  • 2012-03-04
  • 本文字数:629 字

    阅读完需:约 2 分钟

为了回应用户对简单数据访问的需求,MongoDB 推出了聚合框架(Aggregation Framework)。该框架使用声明性管道符号来支持类似于SQL Group By 操作的功能,而不再需要用户编写自定义的JavaScript 例程。

大部分管道操作会在“aggregate”子句后会跟上“$match”打头。它们用在一起,就类似于SQL 的from 和where 子句,或是MongoDB 的find 函数。“$project”子句看起来也非常类似SQL 或MongoDB 中的某个概念(和SQL 不同的是,它位于表达式尾端)。

接下来介绍的操作在MongoDB 聚合框架中是独一无二的。与大多数关系数据库不同,MongoDB 天生就可以在行/ 文档内存储数组。尽管该特性对于全有全无的数据访问十分便利,但是它对于需要组合投影、分组和过滤操作来编写报告的工作,却显得相当复杂。“$unwind”子句将数组分解为单个的元素,并与文档的其余部分一同返回。

“$group”操作与SQL 的Group By 子句用途相同,但是使用起来却更像是LINQ 中的分组运算符。与取回一行平面数据不同,“$group”操作的结果集会呈现为一个持续的嵌套结构。正因如此,使用“$group”可以返回聚合信息,例如对于每个分组中的实际文档,计算文档整体或部分的数目和平均值。

查看英文原文: http://www.infoq.com/news/2012/02/MongoDB-Aggregation

2012-03-04 09:225474
用户头像

发布了 125 篇内容, 共 38.4 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

Go链表与切片比较

jinjin

List 链表 slice Go 语言 切片

SAP 电商云的 Spartacus Storefront 部署到 CCV2 的前提条件

汪子熙

typescript 电商 SAP commerce 5月月更

DevOps系列之 —— DevOps概览(二)新型软件技术及交付模式

若尘

DevOps 5月月更

Git进阶系列 | 5. Rebase vs Merge

俞凡

git 最佳实践

1篇文章全面总结2020年Java面试知识,掌握这些你也能进大厂!

爱好编程进阶

程序员 后端开发

网站开发进阶(五)网站发布之道

No Silver Bullet

Apache tomcat IIS 5月月更 网站发布

用户体验思维 7 大陷阱

龙国富

产品设计 UI UX 用户体验 产品设计与思考

使用MyBatis-Plus代码生成器(数据库MySQL/Sqlite

芝士味的椒盐

Java mybatis 5月月更

网站开发进阶(九)应用内存检测

No Silver Bullet

内存泄露 变量声明 5月月更

【愚公系列】2022 年 05 月 二十三种设计模式(三)-建造者模式(Builder Pattern)

愚公搬代码

5月月更

都2022了,不会还有人不会idea注释相关的配置吧,速进本文

芝士味的椒盐

Java IDEA 5月月更

MyBatis 的动态 SQL超详细讲解

顾言

mybatis 动态SQL

nginx配置系列(五)限制连接数

乌龟哥哥

5月月更

Git进阶系列 | 3. 基于Pull Request实现更好的协作

俞凡

git 最佳实践

互联网跨界造芯的“菊与刀”

IC男奋斗史

芯片 芯片行业思考

C语言总结_字符串全方位练习

DS小龙哥

5月月更

maven构建docker镜像三部曲之三:推送到远程仓库(内网和阿里云)

程序员欣宸

Java Docker 5月月更

电阻电路的等效变换 (Ⅱ)

謓泽

5月月更

不造芯,不配做互联网巨头

IC男奋斗史

芯片行业思考

Git进阶系列 | 6. 交互式Rebase

俞凡

git 最佳实践

13W字!银四巨作:Java进阶架构师核心手册

爱好编程进阶

Java 程序员 后端开发

2020字节跳动秋招技术面试题:Kafka+反射

爱好编程进阶

Java 程序员 后端开发

SecurityContextHolder之策略模式源码分析

急需上岸的小谢

5月月更

如何登录到你的 WordPress 管理仪表板

海拥(haiyong.site)

5月月更

[Day34]-[二叉树]有序链表转换二叉搜索树

方勇(gopher)

LeetCode 二叉树 数据结构和算法

超级原始人系列盲盒即将上线,PlatoFarm赋能超多权益

西柚子

《数据中心白皮书 2022》揭秘“东数西算”下数据中心高性能计算的六大趋势八大技术

GPU算力

毕业设计-设计电商秒杀系统

默光

秒杀架构设计 架构训练营5期

130道BATJM真题及解析:集合+Spring

爱好编程进阶

Java 程序员 后端开发

开源字节系统白皮书

源字节1号

软件开发

Git进阶系列 | 4. 合并冲突

俞凡

git 最佳实践

MongoDB中的Group By_语言 & 开发_Jonathan Allen_InfoQ精选文章