写点什么

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

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

关注

评论

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

深入理解 Python 类中的各种方法

我再BUG界嘎嘎乱杀

Python 编程 后端 开发语言

【闲鱼API】深入解析与应用指南——闲鱼商品详情API接口♠

Geek_9dbf95

数据采集 闲鱼 电商API 免费测试

微服务架构必备技术栈:万变不离其宗的奥义!

不在线第一只蜗牛

架构 微服务 云原生

北京人工智能数据运营平台发布,并开源超大规模高质量数据集

智源研究院

和鲸101计划:以数据能力助力南开大学新文科建设

ModelWhale

数据 新文科

IPv6改造是什么意思?网站IPv6改造怎么做?

国科云

AI 人 吐 槽 大 会

白洞计划

AI

AI安全水深流急,黄铁军首谈AGI能力与风险分级,2024智源大会圆满落幕

智源研究院

什么是浅拷贝和深拷贝,如何用 js 代码实现?

不在线第一只蜗牛

JavaScript 拷贝

“技术故障”背刺巴菲特,金融大模型到底靠不靠谱?

Openlab_cosmoplat

人工智能 金融

和鲸101计划:以神经计算建模培训,助力北大学术人才培养

ModelWhale

数据 建模

2024北京智源大会开幕,智源推出大模型全家桶及全栈开源技术基座新版图,大模型先锋集结共探AGI之路

智源研究院

智领云端,逐梦低空:中国电信成立低空经济产业联盟

脑极体

AI

CCF 数据库专委会铂金合作伙伴

TDengine

数据库 涛思数据 tdengine

和鲸101计划:经管大数据课程教学训练营线下培训圆满收官

ModelWhale

数据 经管

今日分享丨浅谈配置中心对配置的集中管理

inBuilder低代码平台

微服务 云原生 配置管理

智源联合多所高校推出首个多任务长视频评测基准MLVU

智源研究院

Axios 和 Fetch: 深入比较HTTP请求工具

Liam

JavaScript 前端 HTTP axios Fetch

太空策略单机游戏推荐:群星Stellaris 游戏支持win和mac下载

你的猪会飞吗

Mac游戏下载 群星游戏下载

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