MongoDB安装及使用
安装参考教程:
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}
}
}
])
浙公网安备 33010602011771号