写点什么

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:225400
用户头像

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

关注

评论

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

首次!阿里巴巴团队共同携手编写“大厂面试参考指南”v1.0版本

钟奕礼

Java 面试 java程序员 java 编程 #java Java 面试题

学历不是问题!社招大专老哥阿里 腾讯Java面试,上岸入职京东

钟奕礼

java程序员 java面试 java编程 #java

探知数字化研发4 - 底座篇

薛飞

数字化研发 数字化底座

StarRocks 与 DataPipeline 完成兼容性互认证,携手共建数据基础设施生态

StarRocks

数据库

HUAWEI DevEco Studio 3.1版本发布,配套ArkTS声明式开发全面升级

HarmonyOS开发者

HarmonyOS

HMS Core手语服务荣获2022中国互联网大会“特别推荐案例”:助力建设数字社会

HarmonyOS SDK

手语 HMS Core

张文歆:思维需碰撞,才有更大的“火花”|对话 Doris

SelectDB

开源 职场 成长 学习路线 开源治理

解析 RocketMQ 多样消费功能-消息过滤

阿里巴巴云原生

阿里云 RocketMQ 云原生

kubernetes下jenkins实战maven项目编译构建

程序员欣宸

DevOps jenkins 11月月更

视频清晰度优化指南

得物技术

深度学习 算法 H.265 视频质量 图像超分

千万级学生管理系统设计试卷存储方案

Geek_92ba6f

IM通讯协议专题学习(二):快速理解Protobuf的背景、原理、使用、优缺点

JackJiang

node.js的path路径模块和http模块

急需上岸的小谢

11月月更

精彩议程更新,从云原生到 Serverless 的思考和收获,邀你共同见证丨PingCAP DevCon 2022

PingCAP

TiDB

关于HTTPDNS,你知道多少?

移动研发平台EMAS

阿里云 网络 HTTP #EMAS

洞见科技姚明:隐私计算行业将会发展为多层级多领域的数据智能流通网络

洞见科技

战略合作再升级!合合信息与腾讯云联合推出海外智能风控方案

科技热闻

应用程序现代化指南

世开 Coding

应用现代化 软件升级

计算机网络:IEEE 802.11无线局域网

timerring

计算机网络 11月月更

有奖报名|StarRocks 获开源热力值增速第一,有你的贡献

StarRocks

数据库

云服务器的四大作用讲解-行云管家

行云管家

云计算 服务器 云服务 云服务器

「Go实战」在 Go 项目中基于本地内存缓存的实现及应用

Go学堂

golang 缓存 开源 程序员 性能

软件测试校招面试题 | 实习生和应届生有什么区别?

测试人

面试 软件测试 自动化测试 测试开发 实习

加密算法是什么?有哪几种类型?有什么用?

行云管家

加密算法

DTSE Tech Talk | 第11期:深入浅出畅谈华为云低时延直播技术

华为云开发者联盟

云计算 后端 华为云

EventBridge 生态实践:融合 SLS 构建一体化日志服务

阿里巴巴云原生

阿里云 云原生 EventBridge

一文带你回顾操作系统的内存知识点

华为云开发者联盟

操作系统 开发 内存 华为云

软件测试 | 接口自动化你不懂?听HttpRunner的作者怎么说

测试人

软件测试 自动化测试 接口测试 接口自动化 HttpRunner

打开时空隧道,重演云栖72小时云世界

阿里云视频云

阿里云 云栖大会

node.js的模块化与npm

急需上岸的小谢

11月月更

分布式锁

急需上岸的小谢

11月月更

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