生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

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

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2012-03-04 09:225275
用户头像

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

关注

评论

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

时间戳——区块链不可篡改特性的重中之重

CECBC

区块链

第九周 作业1

Mr_No爱学习

架构入门感悟之十一

笑春风

【计算机内功修炼】二:读取文件时,程序经历了什么

码农的荒岛求生

后端 文件 操作系统 进程 线程’

架构师训练营第十一周作业

李日盛

上地七街

潇潇雨歇

分析了2020年3万多条的微博热搜,我看到了什么

CoderW

Python 程序人生 爬虫 后端 微博热搜

「架构师训练营 4 期」 第一周 - 001002

凯迪

2021你好 | 一名五道口程序员的年终总结

herongwei

程序员 职场 自媒体 年终总结 新年

在 Emit 代码中如何await一个异步方法

八苦-瞿昙

探讨典型互联网系统使用的技术方案

Andy

一次线上cpu过高问题

kcnf

数据爬虫

RainGod

爬虫

架構師訓練營 大作業一

ilake

交报告 | 2020年读完的50本书

浪亦有道

【计算机内功修炼】一:看完这篇还不懂线程与线程池你来打我

码农的荒岛求生

高并发 线程池 进程 高性能 线程’

架构师训练营—第十三周学习总结

Geek_shu1988

从考研失败到最具成长力员工,这个2020就像过山车一样

Java鱼仔

程序员 面试 程序人生 考研

第一周架构方法-练习-食堂就餐卡系统设计

潘涛

架构师训练营 4 期

区块链游戏开发注意事项

CECBC

区块链 区块链游戏

LeetCode题解:264. 丑数 II,暴力法,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

架构师训练营—大作业(一)

Geek_shu1988

微信气质

池建强

微信

RocketMQ避坑指南:你部署的RocketMQ集群真的是高可用?

中间件兴趣圈

架构 RocketMQ 故障分析 消息队列

意想不到,这个神奇的bug让我加班到深夜

码农的荒岛求生

bug修复

架构师训练营—第十三周作业

Geek_shu1988

想法

BerryMew

数字版权资源价值日益凸显

CECBC

版权保护

架构师大作业

_

大作业 架构师训练营第 1 期

架构师训练营第十一周笔记

李日盛

笔记

架构师训练营第十一周作业

丁乐洪

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