1、完成MongoDB的安装配置,创建数据库mydb,给指定的集合添加文档
db.students.insert([
{"_id":"1001","name":"程明","sex":"男","age":19,"major":"计算机应用技术","credits":52,score:92},
{"_id":"1002","name":"刘萍","sex":"女","age":18,"major":"移动应用开发","credits":51,score:88},
{"_id":"1003","name":"张静","sex":"女","age":20,"major":"计算机应用技术","credits":48,score:96},
{"_id":"1004","name":"陈好","sex":"女","age":20,"major":"软件技术","credits":53,score:97},
{"_id":"1005","name":"施行","sex":"男","age":20,"major":"计算机应用技术","credits":54,score:96},
{"_id":"1006","name":"刘文平","sex":"女","age":18,"major":"软件技术","credits":50,score:86},
{"_id":"1007","name":"李德胜","sex":"男","age":20,"major":"计算机应用技术","credits":55,score:95},
{"_id":"1008","name":"苏锦州","sex":"男","age":18,"major":"移动应用开发","credits":50,score:70},
{"_id":"1009","name":"张文杰","sex":"女","age":20,"major":"软件技术","credits":53,score:40},
{"_id":"1010","name":"王林","sex":"男","age":18,"major":"移动应用开发","credits":47,score:87},
{"_id":"1011","name":"程梦凡","sex":"男","age":19,"major":"软件技术","credits":46,score:66},
{"_id":"1012","name":"陈玉婷","sex":"女","age":19,"major":"计算机应用技术","credits":45,score:82},
{"_id":"1013","name":"张春华","sex":"男","age":19,"major":"软件技术","credits":45,score:64},
{"_id":"1014","name":"苏秦","sex":"女","age":18,"major":"计算机应用技术","credits":41,score:77},
{"_id":"1015","name":"李雨桐","sex":"男","age":21,"major":"移动应用开发","credits":49,score:81},
{"_id":"1016","name":"唐开平","sex":"女","age":18,"major":"软件技术","credits":42,score:74},
{"_id":"1017","name":"罗世杰","sex":"男","age":21,"major":"移动应用开发","credits":57,score:64},
{"_id":"1018","name":"张可欣","sex":"女","age":20,"major":"计算机应用技术","credits":54,score:47},
{"_id":"1019","name":"刘柔","sex":"男","age":22,"major":"移动应用开发","credits":61,score:81},
{"_id":"1020","name":"王可可","sex":"女","age":17,"major":"计算机应用技术","credits":37,score:67},
{"_id":"1021","name":"王林","sex":"男","age":21,"major":"移动应用开发","credits":61,score:95}
])
2.请用查询语句显示计算机应用技术专业的学生人数
db.students.find({"major":"计算机应用技术"}).count()
3.请用查询语句显示年龄大于19岁的女生信息
db.students.find({"age":{$gt:19}, "sex":"女"})
4.请将陈好的专业(major)修改为“移动应用开发”
db.students.update({"name":"陈好"},{$set:{"major":"移动应用开发"}});
5.请给软件技术专业的所有女生添加一个字段course,值为MongoDB
db.students.updateMany({"major":"软件技术","sex":"女"},{$set:{"course":"MongoDB"}})
7.请将李德胜的年龄减少2岁
db.students.update({"name":"李德胜"},{$inc:{"age":-2}})
8.查询各个专业学生的姓名、性别、专业和年龄,并按专业升序,年龄降序排列
db.students.find({}).sort({"major":1,"age":-1})
9.查询软件技术和移动应用开发专业学生的平均年龄
db.students.aggregate([
{$match: {$or:[{major:"移动应用开发"},{major:"软件技术"}]}},
{$group:{_id:"$major",avg:{$avg:"$age"}}}
])
10.查看计算机应用技术专业男生和女生的总学分,最高学分和最低学分
db.students.aggregate([
{$match:{major:"计算机应用技术"}},
{$group:{_id:"$major",sum:{$sum:"$credits"},max:{$max:"$credits"},min:{$min:"$credits"}}}
])
11.查询各个专业学生的平均成绩,第一个人的成绩和最后一个人的成绩
db.students.aggregate([
{$group:{_id:"$major",avg:{$avg:"$score"},first:{$max:"$score"},end:{$min:"$score"}}}
])
12.统计各个专业的学生人数并按人数从多到少排序
db.students.aggregate([
{$group:{_id:"$major",number:{$sum:1}}},
{$sort:{res:1}}
])
13.对年龄大于18岁的学生姓名、性别、年龄、专业、成绩按照专业进行分组统学生人数,只显示人数大于4 的
db.students.aggregate([
{$match:{age:{$gt:18}}},
{$group:{_id:"$major",number:{$sum:1}}},
{$match:{number:{$gt:4}}}
])
14.请删除计算机应用技术专业男生的成绩(score)字段
db.students.updateMany({"major":"计算机应用技术","sex":"男"},{$unset:{score:1}})
15.请删除学生集合
db.students.remove({});
db.students.drop();