安装参考教程:
https://dblab.xmu.edu.cn/blog/3980/
作业要求:
在电脑中完成MongoDB的安装,并通过MongoDB Shell新建一个以自己名字(英文全拼,例如Sunjing)的数据库,并创建一个名为“grade”的集合,
在该集合中插入自己上学期五门课程的成绩数据,具体包括课程名称,分数,任课教师,考试时间(或者其他相关信息)。并依次完成对数据进行增、删、改、查等基本操作。
1. 创建数据库并切换到 TongNing 数据库
// 切换到 TongNing 数据库(如果不存在会自动创建)
use TongNing
2. 创建 grade 集合并插入数据
// 插入五门课程的成绩数据
db.grade.insertMany([{courseName: "计算机网络",score: 60,teacher: "郭琪",type: "必修",credit: 3},{courseName: "WEB应用开发技术", score: 60,teacher: "孙静",type: "任选",credit: 2},{courseName: "数据库原理",score: 60,teacher: "杨光", type: "必修",credit: 3},{courseName: "概率论与数理统计",score: 60,teacher: "宋飞",type: "必修", credit: 4},{courseName: "Python程序设计",score: 60,teacher: "刘嘉",type: "任选",credit: 2}
])
3. 查询操作(查)
// 查询所有成绩
db.grade.find()// 格式化显示查询结果
db.grade.find().pretty()// 查询必修课程
db.grade.find({type: "必修"})// 查询90分以上的课程
db.grade.find({score: {$gt: 90}})// 按分数降序排列
db.grade.find().sort({score: -1})// 统计课程数量
db.grade.countDocuments()
4. 插入操作(增)
// 添加一门新课程
db.grade.insertOne({courseName: "操作系统",score: 88,teacher: "张伟",type: "必修",credit: 3
})// 验证新课程已添加
db.grade.find({courseName: "操作系统"})
5. 更新操作(改)
// 将 WEB应用开发技术 的分数改为 90
db.grade.updateOne({courseName: "WEB应用开发技术"},{$set: {score: 90}}
)// 验证更新结果
db.grade.find({courseName: "WEB应用开发技术"})// 为所有课程添加学期字段
db.grade.updateMany({},{$set: {semester: "2024-2025学年第一学期"}}
)
6. 删除操作(删)
// 删除 Python程序设计 课程
db.grade.deleteOne({courseName: "Python程序设计"})// 验证删除结果
db.grade.find({courseName: "Python程序设计"})// 删除所有任选课程
db.grade.deleteMany({type: "任选"})
7. 高级查询
// 查询平均分
db.grade.aggregate([{$group: {_id: null,averageScore: {$avg: "$score"}}}
])// 查询最高分和最低分
db.grade.aggregate([{$group: {_id: null,highestScore: {$max: "$score"},lowestScore: {$min: "$score"}}}
])// 按课程类型统计平均分
db.grade.aggregate([{$group: {_id: "$type",averageScore: {$avg: "$score"},courseCount: {$sum: 1}}}
])