MongoDB常用查询

发布时间 2023-10-09 18:32:17作者: songxia777

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}}
])