当然可以!以下是MongoDB中聚合函数的使用方法和一些具体示例,带有注释解释:
-
$match:
- 用途:筛选符合条件的文档。
- 示例:筛选出age大于20的文档。
db.collection.aggregate([
{
$match: {
age: { $gt: 20 }
}
}
])
-
$group:
- 用途:对文档进行分组,并计算每组的聚合结果。
- 示例:计算每个name的平均年龄。
db.collection.aggregate([
{
$group: {
_id: "$name",
averageAge: { $avg: "$age" }
}
}
])
-
$sort:
- 用途:对文档进行排序。
- 示例:按age降序排序。
db.collection.aggregate([
{
$sort: { age: -1 }
}
])
-
$skip:
- 用途:跳过指定数量的文档。
- 示例:跳过前10个文档。
db.collection.aggregate([
{ $skip: 10 }
])
-
$limit:
- 用途:限制返回的文档数量。
- 示例:只返回5个文档。
db.collection.aggregate([
{ $limit: 5 }
])
-
$project:
- 用途:选择或排除某些字段,并重新命名、计算新字段。
- 示例:选择name和age字段,并计算年龄差。
db.collection.aggregate([
{
$project: {
name: 1, // 选择name字段并保留原始值(1)或排除(0)其他字段。这里选择保留name字段。
ageDifference: { $subtract: [25, "$age"] } // 计算年龄差,这里假设年龄为25。$subtract用于减法运算。
}
}
])
标签:聚合,函数,示例,MongoDB,age,db,collection,文档,aggregate
From: https://blog.51cto.com/u_13372349/9126830