当前位置: 首页 > news >正文

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}}}
])
http://www.hskmm.com/?act=detail&tid=30346

相关文章:

  • 从Gemini Robotics看通用机器人的科技路径
  • 张量的基本操作
  • Windows7 隐藏用户
  • 10 月记录
  • 统计学习方法学习Day01
  • gpt-5-codex vs gpt-5
  • Jenkins Share Library开发入门(一)
  • 第十三篇
  • 虚树
  • 网络安全基础--第五课:跨站脚本攻击XSS - 实践
  • 成员内部类
  • 用 Fortran 进行英文数字验证码识别
  • webpack优化前端性能
  • 2025.10.13总结 - A
  • 洛谷版自我介绍
  • Windows五次shift漏洞复现
  • P8186 [USACO22FEB] Redistributing Gifts S 题解 - 符星珞
  • Windows续
  • uml九类例图详解
  • 继续学习,争取早日找到实习 - Irving11
  • Keil MDK 将不同文件中的特定数据链接到同一位置
  • 1013日总结
  • 数据流图
  • 2025公众号排版效率榜:5款AI工具实测对比,从排版到分发一站搞定
  • OpenLayers地图交互 -- 章节十六:双击缩放交互详解 - 教程
  • CF1935E Distance Learning Courses in MAC
  • 联考の记录
  • 06-mysql备份实战 #
  • 静态内部类
  • 05_mysql备份方案