非关系型数据库:MongoDB基本操作

目录

实验目的和要求

实验目的:

要求:

实验环境

实验内容与过程

1、实验内容:

2、关键代码

3、流程图 

实验结果与分析

实验结果:

结果分析:

 实验心得


实验目的和要求

实验目的:

1. 安装Windows版MongoDB

2. 使用MongoDB对数据进行增删改查操作

3. 比较有无索引时的查询性能

要求:

1. 提交代码

2. 提交执行结果截图

3. 提交电子版实验报告

实验环境

操作系统:Windows11

Mongodb 

实验内容与过程

1、实验内容:

题目1:安装Windows版MongoDB

1.安装MongoDB(任意版本)  

2.在环境变量中添加MongoDB安装路径

3.创建MongoDB的Windows服务,服务名为MongoDB

4.设置Windows服务为【自动】启动

5.使用mongod命令启动服务

6.使用mongo命令启动shell窗口

题目2:对数据进行增删改查操作

1.创建一个数据库

2.创建一个集合

3.插入多条文档记录到集合中

4.修改一个文档的全部内容

5.对多个文档同一字段内容进行修改

6.查询数据库中满足指定条件的文档

题目3:比较有无索引时查询性能

1. 在集合中插入1000个文档,执行find.explain()命令,记录分析结果

2. 对文档中的一个字段创建索引,对该字段进行find.explain()命令,记录分析结果;

3. 删除多余文档,保留200个文档,对创建索引字段执行find.explain()命令,记录分析结果

4. 在此基础上删除建立的索引,执行find.explain()命令,记录分析结果

5. 对以上执行结果惊醒统计,制出统计分析比较表,说明比较结论

2、关键代码

>db.goodMongo.insert(
[
{ item: "小学生教材",name:"《小学一年级语文(上册)》",price:12},
{ item: "初中生教材",name:"《初中一年级语文(上册)》",price:15},
{ item: "高中生教材",name:"《高中一年级语文(上册)》",price:20},
{ item: "外语教材",name:"《英语全解
ABC(五年级上)》",price:30}
])
db.goodMongo.insert(
 {name:"<c语言>",
 bookprice:33.2,
 adddate:2017-10-1,
 allow:true,
 baseinf:{ISBN:183838388,press:"清华大学出版社"},
 tags:["good","book","it","Program"]

})
db.goodMongo.find(
{name:"《C语言编程》"},
{name:1,price:1,_id:0}) //0或false不显示指定字段,1或true显示指定字段
user goodsdb
db.goodMongo.insert(
{title:"商品购物单1"
,amount:35,
detail:[{name:"苹果",price:22},{name:"面粉",price:18}]
})
db.goodMongo.update({title:"商品购物单1"},{$set:{title:"商品购物单2"}})  //改订单名称
db.goodMongo.find().pretty()
document=({name:"《C语言编程》",price:32})//document为变量名
db.goodMongo.insert(document)

3、流程图 

 

 

实验结果与分析

实验结果:

 

 

 

 

 

 

 

 

 

结果分析:

实验结果与预期相符,实验成功。

成功地安装了MongoDB,并将其配置为Windows服务,确保了服务的自动启动。通过使用mongod和mongo命令,我成功地启动了MongoDB服务和shell窗口。这为后续的操作提供了必要的环境。

通过对比查询分析结果,可以明显看到有索引时的查询性能明显优于无索引时。索引的使用显著提高了查询效率,特别是在大规模数据的情况下。然而,索引并非没有代价,创建和维护索引会占用一定的系统资源,因此在具体应用中需要权衡使用。

在实验中,我注意到创建索引后查询性能的提升主要体现在大规模数据集上。对于小规模数据,索引可能并不会带来显著的性能提升,而且索引的维护成本可能超过了性能提升的价值。

 实验心得

在完成这个实验的过程中,我学会了如何在Windows系统上安装MongoDB。通过按照指导,我成功地完成了安装步骤,包括将MongoDB添加到环境变量并创建了一个Windows服务。这个过程让我对MongoDB的安装和配置有了更清晰的了解。

我学习了MongoDB的基本增删改查操作。我创建了数据库和集合,插入了多条文档记录,并成功地进行了文档内容的修改和字段内容的批量修改。这些操作让我熟悉了MongoDB的基本数据管理功能。

通过插入大量文档并记录查询分析结果,我能够清晰地对比有无索引时的查询效率。创建索引后,查询性能得到了显著提升,尤其是在大量数据的情况下。这个比较让我深入了解了索引对数据库查询效率的重要性。

在实验过程中,我遇到了一些挑战,特别是在索引的创建和删除过程中。通过仔细阅读文档和尝试不同的命令,我成功地解决了这些问题。这让我更加熟悉了MongoDB的管理和优化方法。

总的来说,这个实验让我对MongoDB有了更全面的认识,从安装配置到基本操作和性能优化都有所涉及。这些技能对于今后处理大规模数据和数据库管理都将是非常有用的。希望能够继续深入学习和应用这些知识,为未来的工作打下坚实的基础。

 

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容