聚合案例示范
以下示例展示了几个常见的聚合场景,帮助理解聚合管道的实际应用。
案例一:统计用户按性别分组的数量
统计用户集合中各性别的用户数量:
db.users.aggregate([
{
$group: {
_id: "$gender",
count: { $sum: 1 }
}
}
])
`
输出类似:
{ "_id": "male", "count": 100 }
{ "_id": "female", "count": 120 }
案例二:计算每个类别的总销售额
统计商品集合中每个类别的销售总额:
db.products.aggregate([
{
$group: {
_id: "$category",
totalSales: { $sum: "$price" }
}
}
])
案例三:筛选并排序用户,返回部分字段
查询年龄大于 25 岁的用户,按年龄升序排序,只返回用户名和年龄:
db.users.aggregate([
{ $match: { age: { $gt: 25 } } },
{ $sort: { age: 1 } },
{ $project: { username: 1, age: 1, _id: 0 } }
])
案例四:展开数组字段并统计标签出现次数
假设文章有 tags 数组,统计每个标签的出现频率:
db.articles.aggregate([
{ $unwind: "$tags" },
{
$group: {
_id: "$tags",
count: { $sum: 1 }
}
},
{ $sort: { count: -1 } }
])
通过这些聚合案例,可以更好地掌握 MongoDB 聚合管道的灵活性和强大功能。
相关内容
- 什么是 MongoDB? MongoDB 是一种基于文档的 NoSQL 数据库,使用 BSON 格式存储数据,具有灵活的架构设计,适合海量数据、高并发应用,支持丰富查询与水平扩展。
- MongoDB 与关系型数据库的区别 MongoDB 与关系型数据库在数据模型、扩展性、灵活性和查询方式上存在显著差异,分别适用于不同类型的应用场景和业务需求。
- 使用场景与优势 MongoDB 以其灵活的数据模型、高性能和强大的扩展能力,广泛应用于现代互联网、移动应用、大数据分析等多种场景,具有显著优势。
- 安装 MongoDB(Windows / macOS / Linux / Docker) 本章节详细介绍在 Windows、macOS、Linux 和 Docker 环境下安装 MongoDB 的具体步骤,帮助用户快速搭建数据库环境。
- 使用 MongoDB Compass 和 MongoDB Shell 本章节介绍如何使用 MongoDB 官方的图形化管理工具 Compass 和命令行工具 MongoDB Shell,帮助用户高效管理和操作数据库。
- 数据库与集合的概念 本章节介绍 MongoDB 中数据库和集合的基本概念,帮助理解其数据组织结构及管理方式。