MongoDB聚合查询
概念
聚合查询
就是把数据聚起来,经行统计
语法
db.集合名称.aggregate([
{管道:{表达式}}
/*
常用管道见下
*/
])
//
常用管道
$group 将集合中的文档分组,用于统计结果
$match 过滤数据,只要输出符合条件的文档
$sort 聚合数据进一步排序
$skip 跳过指定文档数
$limit 限制集合数据返回文档数
、、、、、
常用表达式
$sum 总和 $sum:1同count表示统计
$avg 平均
$min 最小值
$max 最大值
例题
db.集合名称.aggregate([
{管道:{表达式}}
])
- 统计男生女生的总年龄
db.c1.aggregate([
{
$group:{
_id:"$sex",
rs:{$sum:"$age"}
}
}
])
- 统计男生女生的总人数
db.c1.aggregate([
{
$group:{
_id:"$sex",
rs:{$sum:1}
}
}
])
- 求学生年龄的平均值
db.c1.aggregate([
{
$group:{
_id:null,
total_num:{$sum:1},
total_avg:{$avg:"$age"}
}
}
])
- 查询男生女生的人数按人数升序
db.c1.aggregate([
{
$group:{
_id:"$sex",
rs:{$sum:1},
}
},
{
$sort:{
_id:1
}
}
])