文档

关于 SequoiaDB

快速入门

快速入门之一键清理

安装

基本操作

数据模型

SQL引擎

FileSystem引擎

S3引擎

系统架构

数据库管理

连接器

驱动

参考手册

故障排除

SAC 管控中心

Web服务

版本信息

聚集

聚集框架提供了对集合中的原始数据记录进行统计计算的能力。通过使用聚集框架,用户能够直接从集合中提取数据记录并获取所需的统计结果。聚集框架提供的操作接口类似于集合中的查询操作,不同的是聚集框架还提供了一系列函数及操作对查询结果进行处理。

aggregate()

以下是聚集操作举例:

> db.foo.bar.aggregate( { $match: { age: { $gt: 30 } } }, { $group: { _id: "$city", income: { "$avg": "$income" }, city: { "$first": "$city" } } } )

上例聚集操作包含了两个子操作:

  • "$match"子操作将集合中年龄大于30的数据记录筛选出来;
  • "$group"子操作从筛选出的数据记录按照城市进行分组,计算出每个城市的人均收入。

通过上例聚集操作将得到各城市30岁以上的人均收入。

假设原始数据为:

{ name: "张三", income: 10000, age: 31, city: "北京" }
{ name: "李四", income: 25000, age: 28, city: "上海" }
{ name: "王五", income: 15000, age: 32, city: "上海" }
{ name: "赵六", income: 30000, age: 40, city: "北京" }

经过子操作$match后,数据为:

{ name: "张三", income: 10000, age: 31, city: "北京" }
{ name: "王五", income: 15000, age: 32, city: "上海" }
{ name: "赵六", income: 30000, age: 40, city: "北京" }

经过子操作$group后,最终结果为:

{ income: 15000, city: "上海" }
{ income: 20000, city: "北京" }
回到顶部