mongodb——node中的mongodb数据库聚合aggregate()

本文详细介绍了MongoDB中的聚合操作,包括如何使用$group、$sum等表达式进行数据汇总和计算,例如求总数、平均值及分组统计。通过具体实例展示了如何查询学生总数、年龄总和及平均年龄。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

聚合:将数据聚集到一起合起来 使用特定的表达式计算结果(总数 平均值 分组 )

db.collectionName.aggregate([{$group:{ key1:val, 自定义变量: {"聚合变量":"值" }}}])

聚合表达式

$sum 总数

$avg 平均值

$min $max

$addToSet 在结果文档中插入值 到一个数组中

$fist

$last

基本语法

db.collection.aggregate([
     {$match:{id:1000}},
     {$limit:5},
     {$group:{_id:"name", count: {$sum:1}}},
     {$sort:{count:-1}}
])
db.student.aggregate([{$group:{_id:"studentSum", count:{ $sum:1}}}])
// 查询学生 合并在一起 计算总数  $sum 1
db.student.aggregate([{$group:{_id:"studentSum", count:{ $sum:"$uage"}}}])
// 查询所有学生年龄的总和
db.student.aggregate([{$group:{_id:"studentSum", count:{ $avg:"$uage"}}}])
// 查询学生所有年龄的平均值 (如果学生本身没有年龄的字段 不参与计算和平均)
db.student.aggregate([{$group:{_id:"studentSum", ageList:{ $addToSet:"$uage"}}}])
// 查询所有学生 并使用addToSet 将所有学生的年龄放到数组 ageList中 并返回
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值