写点什么

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

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

关注

评论

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

800个程序实例、5万行代码!清华大学出版【Python王者归来】

我再BUG界嘎嘎乱杀

Python 后端 软件开发 入门 零基础

Linux设备驱动系列(16) —— 链表Linked List

Linux内核拾遗

链表 Linux内核 设备驱动

华为用“三个重构”为笔锋,书写全球数字金融大文章

脑极体

AI

BCS2024|Baidu Comate:以研发提效为驱动实现“安全左移”

百度安全

多家央行开启降息序幕:加密行情的新机遇与挑战

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

纯 CSS 实现计时器效果

南城FE

CSS 前端 css动画

企业在现代市场中的战略:通过数据可视化提升财务决策

智达方通

企业管理 战略规划 企业战略 全面预算管理

Django中间件功能、应用场景和核心方法

我再BUG界嘎嘎乱杀

Python django 后端 中间件 开发语言

构建Python构建自动化测试框架(原理与实践)

我再BUG界嘎嘎乱杀

Python 软件测试

英特尔CEO帕特·基辛格:引领AI PC创新,重现“迅驰时刻”

E科讯

华为云618营销季年中即将来袭,大额服务权益等你来享!

YG科技

生态共建 | 天谋科技与云轴科技共同打造矿山开采端边云协同工业互联网平台联合解决方案

Apache IoTDB

2024年5月文章一览

codists

基于Java“花鸣”B2C电子商务平台设计实现(源码+lw+部署文档+讲解等)

hunter_coder

人工智能 openai

智谱AI与高通共同推进大模型在智能座舱中的应用

技术研究院

Python小白必备!清华大牛整理的《Django零基础入门到精通》手册

我再BUG界嘎嘎乱杀

Python django 爬虫

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