以下是 MongoDB 聚合框架的一些基本概念和常用操作:
1. $match 阶段:
- 用于过滤文档,只保留满足指定条件的文档。
- 示例:
db.collection.aggregate([
{ $match: { field: value } }
]);
2. $project 阶段:
- 用于重塑文档,只包含或排除指定的字段。
- 示例:
db.collection.aggregate([
{ $project: { newField: "$existingField", _id: 0 } }
]);
3. $group 阶段:
- 用于对文档进行分组和计算聚合值。
- 示例:
db.collection.aggregate([
{ $group: { _id: "$groupField", total: { $sum: "$numericField" } } }
]);
4. $sort 阶段:
- 用于对文档进行排序。
- 示例:
db.collection.aggregate([
{ $sort: { field: 1 } }
]);
5. $limit 和 $skip 阶段:
- $limit 用于限制结果集的文档数量。
- $skip 用于跳过指定数量的文档。
- 示例:
db.collection.aggregate([
{ $limit: 10 },
{ $skip: 5 }
]);
6. $unwind 阶段:
- 用于展开数组字段,将每个数组元素变成单独的文档。
- 示例:
db.collection.aggregate([
{ $unwind: "$arrayField" }
]);
7. 管道操作:
- 可以组合多个阶段形成聚合管道,以实现复杂的数据处理需求。
以上是聚合框架的一些基本操作,你可以根据具体的需求组合这些阶段来构建复杂的聚合查询。请注意,聚合框架是强大而灵活的,支持许多操作符和表达式,可以满足各种数据处理和分析的需求。详细的文档可以在 MongoDB 官方网站上找到。
转载请注明出处:http://www.zyzy.cn/article/detail/14229/MongoDB