1. 数据库数据说明
# 集合:school
# 文档:stu
# 结合字段:id, 学号、姓名、电话、性别、年龄、学历、备注
# 初始化20条数据
use school
for (var num=1; num<=20; num++) {
db.stu.insert({
id:num,
no: "SN"+num,
name: "name"+num,
tel: "1111111111",
sex: "女",
age: num,
school: "研究生",
remark: "备注"
})
}
2. 常见数据库操作
# 1 按照 姓名 正序排列
db.stu.find().sort({"name":1})
# 2 按照 年龄 倒序,id正序 排列
db.stu.find().sort({"age":"-1","_id":"1"})
# 3. 统计男生、女生的总年龄
db.stu.aggregate([
{
$group:{
_id: "$sex",
"总年龄": {$sum: "$age"}
}
}
])
# 4. 求学生总数和平均年龄
db.stu.aggregate([
{
$group:{
_id: null,
total_num: {$sum:1},
total_avg: {$avg: "$age"}
}
}
])
# 5. 查询男生、女生人数,按人数升序
db.stu.aggregate([
{$group:{_id: "$sex","总人数": {$sum: 1}}},
{$sort:{"总人数": -1}}
])