大模型“四虎”出山,亮相 4 月 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

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

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

关注

评论

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

protocol buffer没那么难,不信你看这篇

程序那些事

Java protobuf 程序那些事

原来一条select语句在MySQL是这样执行的《死磕MySQL系列 一》

咔咔

MySQL 数据库

在openGauss上做开发?这个大赛拿出30万寻找开源的你

华为云开发者联盟

数据库 开源 信创 opengauss 鲲鹏

在java程序中使用protobuf

程序那些事

Java protobuf 程序那些事

基于Mybatis-plus实现多租户架构

码农参上

多租户 8月日更 Mybatis-Plus

Go- if-else结构

HelloBug

if Go 语言 else

apipost--接口流程化测试

与风逐梦

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

前端人员必会工具-apipost两分钟上手(2分钟玩转apipost)

Proud lion

大前端 测试 后端 Postman 开发工具

带你认识MRS CDL架构

华为云开发者联盟

数据库 大数据 FusionInsight MRS MRS CDL 实时同步

LeetCode刷题07-简单 整数翻转

ベ布小禅

8月日更

SphereEx CEO 张亮:数据库上云是大势所趋|初心·问

SphereEx

数据库 开源

springBoot中redis的自动装配

Rubble

8月日更

自适应负载均衡算法原理与实现

万俊峰Kevin

负载均衡 微服务 负载均衡算法 Go 语言

支持 10 亿日流量的基础设施:当 Apahce APISIX 遇上腾讯

API7.ai 技术团队

案例 API网关 APISIX Meetup 腾讯游戏

vivo商城计价中心 - 从容应对复杂场景价格计算

vivo互联网技术

Java 架构 后端 促销系统

神策分析 Android SDK 网络模块解析

神策技术社区

程序员 代码 神策数据

FusionInsight怎么帮「宇宙行」建一个好的「云数据平台」?

华为云开发者联盟

大数据 数据仓库 FusionInsight 云数据平台 LakeHouse

国产数据库的挑战与机遇

晨山资本

数据库 大数据 云原生 超融合

手把手教你写 Gradle 插件 | 数据采集

神策技术社区

程序员 埋点 数据化 神策数据

架构实战营模块一作业

michael

架构实战营

前端、后端、测试、研发经理必备技能-ApiPost接口管理工具

CodeNongXiaoW

大前端 测试 后端 接口工具

拿捏!隔离级别、幻读、Gap Lock、Next-Key Lock

艾小仙

MySQL sql 面试 大前端

MySQL 系列教程之(十二)扩展了解 MySQL 的存储过程,视图,触发器

若尘

MySQL 数据库 8月日更

如何构建 Spring Boot 12 因素应用

码语者

Sprint Boot

混合云时代来临,你的存储ready了吗?

焱融科技

云计算 分布式 高性能 云存储 混合云

容器监控薅光了头发?这篇你再也不能错过!

观测云

json Docker 云计算 Linux 容器

保护亿万数据安全,Spring有“声明式事务”绝招

华为云开发者联盟

spring 数据安全 事务管理

图文并茂的聊聊ReentrantReadWriteLock的位运算

程序猿阿星

ReentrantReadWriteLock 位运算

遇见低码:在价值中审视

华为云开发者联盟

ide 低代码 应用 开发语言 低成本

神策分析 iOS SDK 全埋点解析之启动与退出

神策技术社区

ios 代码 埋点 神策数据

架构实战营 模块六作业

孫影

架构实战营 #架构实战营

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