当前位置: 首页 > 数据应用 > MongoDB

MongoDB的基本操作:增删改查实验报告

时间:2023-07-02 17:51:14 MongoDB

MongoDB是一种非关系型数据库,它以文档的形式存储数据,提供了灵活和高效的数据管理方式。本文将介绍如何使用MongoDB进行数据的增删改查,即创建、读取、更新和删除文档,以及相关的实验结果和分析。

实验环境:

1.操作系统:Windows 10

2.客户端工具:MongoDB Compass

实验步骤:

1. 创建数据库和集合

在MongoDB中,数据库是文档的容器,集合是文档的分组。我们可以使用MongoDB Compass来创建数据库和集合,也可以使用命令行工具mongo来执行相关的命令。

为了方便演示,我们创建一个名为test的数据库,和一个名为students的集合。在MongoDB Compass中,我们可以点击左上角的Create Database按钮,输入数据库名和集合名,然后点击Create Database按钮。在mongo中,我们可以执行以下命令:

use test 切换到test数据库

db.createCollection(\"students\") 创建students集合

创建成功后,我们可以在MongoDB Compass中看到test数据库和students集合,也可以在mongo中执行以下命令来查看:

show dbs 显示所有数据库

show collections 显示当前数据库的所有集合

2. 插入文档

在MongoDB中,文档是一种类似于JSON的数据结构,它由键值对组成,可以嵌套其他文档或数组。我们可以使用MongoDB Compass或mongo来插入文档到集合中。

为了方便演示,我们插入以下四个文档到students集合中:

在MongoDB Compass中,我们可以点击students集合下的ADD DATA按钮,选择Insert Document选项,然后在弹出的窗口中输入或粘贴上述文档,点击INSERT按钮。在mongo中,我们可以执行以下命令:

db.students.insertMany([ 插入多个文档

插入成功后,我们可以在MongoDB Compass中看到students集合下有四个文档,也可以在mongo中执行以下命令来查看:

db.students.find() 查找所有文档

3. 查询文档

在MongoDB中,我们可以使用不同的条件和操作符来查询文档。我们可以使用MongoDB Compass或mongo来查询文档。

为了方便演示,我们查询以下几种情况:

1.查询年龄大于20的学生

2.查询数学成绩大于等于80的学生

3.查询姓名以A开头的学生

4.查询性别为女性或者英语成绩大于等于80的学生

在MongoDB Compass中,我们可以在students集合下的FILTER输入框中输入查询条件,然后点击FIND按钮。在mongo中,我们可以执行以下命令:

db.students.find({age: {$gt: 20}}) 查询年龄大于20的学生

db.students.find({\"scores.math\": {$gte: 80}}) 查询数学成绩大于等于80的学生

db.students.find({name: /A/}) 查询姓名以A开头的学生

db.students.find({$or: [{gender: \"female\"}, {\"scores.english\": {$gte: 80}}]}) 查询性别为女性或者英语成绩大于等于80的学生

查询成功后,我们可以在MongoDB Compass或mongo中看到查询结果。

4. 更新文档

在MongoDB中,我们可以使用不同的方法和操作符来更新文档。我们可以使用MongoDB Compass或mongo来更新文档。

为了方便演示,我们更新以下几种情况:

1.将Alice的年龄加一

2.将Bob的数学成绩加十分

3.将Charlie的姓名改为Chris

4.将David的文档删除

在MongoDB Compass中,我们可以在students集合下的DOCUMENTS列表中找到要更新的文档,点击右侧的EDIT按钮,修改文档内容,然后点击UPDATE按钮。在mongo中,我们可以执行以下命令:

db.students.updateOne({name: \"Alice\"}, {$inc: {age: 1}}) 将Alice的年龄加一

db.students.updateOne({name: \"Bob\"}, {$inc: {\"scores.math\": 10}}) 将Bob的数学成绩加十分

db.students.updateOne({name: \"Charlie\"}, {$set: {name: \"Chris\"}}) 将Charlie的姓名改为Chris

db.students.deleteOne({name: \"David\"}) 将David的文档删除

更新成功后,我们可以在MongoDB Compass或mongo中查看更新后的文档。

实验结果和分析:

通过本实验,我们掌握了如何使用MongoDB进行数据的增删改查,即创建、读取、更新和删除文档。我们发现MongoDB具有以下特点:

1.MongoDB支持多种数据类型和结构,可以存储复杂和多样化的数据。

2.MongoDB提供了丰富和灵活的查询语法和操作符,可以满足不同的查询需求。

3.MongoDB提供了多种更新方法和操作符,可以实现不同的更新效果。

4.MongoDB提供了图形化和命令行两种客户端工具,可以方便地操作和管理数据。