MongoDB安装及使用

news/2025/10/13 21:17:10/文章来源:https://www.cnblogs.com/ztn195/p/19139411

安装参考教程:
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.mzph.cn/news/936428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从Gemini Robotics看通用机器人的科技路径

从Gemini Robotics看通用机器人的科技路径pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

张量的基本操作

从现在开始学习李沐的动手学习深度学习 学习深度学习这个科目,我们必须从基础概念开始学习 对于一个机器学习来说,关键的组件如下:可以学习的数据 如何转换数据的模型 一个目标函数, 用来量化模型的有效性 调整模型…

Windows7 隐藏用户

前言 当你在使用电脑时,真的确信只有你一个人在使用吗?会不会在某些不注意的角落,早已经有黑客悄悄潜入,创建了一个你不知道的用户? 漏洞实现 启动管理员cmd,并创建一个test\(用户,并将其分给administrators组。…

10 月记录

CF2159 CF2152 http://192.168.102.138/JudgeOnline/contest.php?cid=2310 http://192.168.102.138/JudgeOnline/contest.php?cid=2312 http://192.168.102.138/JudgeOnline/contest.php?cid=2314 https://htoj.com…

统计学习方法学习Day01

学习了统计学习方法的第一章 1.5正则化与交叉验证 (1)正则化的目的是模型选择的一个经典方法,正则化的是要使风险最小化的策略。正则化实在经验风险上加上一个正则化项,正则化项主要是防止模型在训练过程中出现过拟…

gpt-5-codex vs gpt-5

非常好的问题——你这张截图展示的是一个模型选择界面,列出了两组模型:gpt-5-codex 系列 和 gpt-5 系列,每组又细分成 low / medium / high 等不同等级(有的还有 minimal)。下面是它们的对比与推荐使用场景分析:…

Jenkins Share Library开发入门(一)

写在前面 今日心情有点小丧,但总体问题不大,有一些突然来的活,还没整完,明天再继续搞把。 有难度吗? 有一些把,我觉得还是要做一些自己不擅长的工作,才会有成长的吧,为什么? 用我们测试同学的话术,就是提升“…

第十三篇

今天是10月13号,今天是满课,上午学习了栈的相关知识,下午学习了Java。

网络安全基础--第五课:跨站脚本攻击XSS - 实践

网络安全基础--第五课:跨站脚本攻击XSS - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

成员内部类

成员内部类在类的内部定义,与实例变量,实例方法同级别的类外部类的一个实例部分,创建内部类对象时必须依赖外部类对象Outer out = new Outer(); Inner in = out.new Inner();//外部类 public class Outer {//实例变…

用 Fortran 进行英文数字验证码识别

一、引言 Fortran 是历史最悠久的高级语言之一,广泛应用于数值计算与工程模拟。在验证码识别方面,尽管 Fortran 并不是图像处理或 OCR 的主流语言,但我们可以借助系统调用与外部 OCR 工具如 Tesseract 实现简单的验…

webpack优化前端性能

Webpack 优化前端性能主要从构建时优化和运行时优化两个维度进行。以下是全面的优化方案: 1. 代码分割与按需加载 1.1 动态导入 (懒加载) // React 路由懒加载 const Home = lazy(() => import(/* webpackChunkNam…

2025.10.13总结 - A

今天满课,生活充实且乏力。加油

洛谷版自我介绍

清华大学紫荆书院学生科学技术协会 (ZAST) 赛事部 副部长 Deputy Director of the Competition Department, Zijing Association of Science and Technology(ZAST), Tsinghua University 清华大学紫荆书院科协常年举办…

Windows五次shift漏洞复现

前言 当我们每次按五次shift之后都会弹出如下图所示的样式,在早期的windows7版本,就可以利用这个漏洞进行取得意想不到的效果。一、原理 我们可以给sethc进行改名,将本该启动sethc变成启动cmd,然后利用dos命令进行…

P8186 [USACO22FEB] Redistributing Gifts S 题解 - 符星珞

题目描述 FJ 有 \(N\) 个礼物给他的 \(N\) 头奶牛,这 \(N\) 个礼物和 \(N\) 头奶牛都分别按顺序被标记为从 \(1\) 到 \(N\) 的整数。每头奶牛都有一个愿望单,记录着一个含有 \(N\) 个礼物的排列。比起在愿望单中出现…

深入解析:个人用云计算学习笔记 --17(DNS 服务器)

深入解析:个人用云计算学习笔记 --17(DNS 服务器)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

Windows续

一、Windows 文件系统 1.1 文件系统基本概念 文件系统是操作系统用于明确存储设备或区分上的文件的方法和数据结构。 操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。 1.2 文件系统格式(…

uml九类例图详解

九种常见UML图(分类+图解) 九种常见UML图1.类图 概述 类图(Class Diagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。 类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种…

继续学习,争取早日找到实习 - Irving11

关于SQL的一些经典实例 一、TOP n 1、路径问题: csv_path = "student_score.csv" df = pd.read_csv(r"D:\Pycharm\pythonProject3\student_score.csv") 文件路径里的 \ 在 Python 中被当作转义字…