《非结构化数据存储与分析》实验五:用MongoDB创建员工信息数据库

1.(可选)安装MongoDB可视化工具robo 3T软件

下载地址: Download Studio 3T for MongoDB | Windows, macOS & Linux

下载与系统对应的版本,双击运行安装即可。

2、数据库操作,创建、查询和修改员工信息数据库。

(1)创建一个新的数据库,以姓名首字母+employee命名,创建集合用姓名首字母命名。


(2)存入以下数据:

name

department

age

张三

production

36

李四

finance

48

王五

production

32

赵六

marketing

27

孙七

production

34

周八

production

36

吴九

marketing

38


(3)完成以下问题,并观察操作的结果和分析得到该结果的原因:

①使用save命令添加数据:_id为test_id, name为小王;

使用save(object)命令时,object代表需要更新的对象,如果集合内部已经存在一个和object相同的“_id”的记录,MongoDB会把object对象替换集合内已存在的记录,如果不存在,则会插入object对象。添加数据前集合中没有“_id”为“test_id”的数据,故而此数据插入成功。


②使用save增加一个:_id为test_id, name为小李的数据;

插入数据前集合内部已经存在和object相同的“_id”的记录小王,故而插入小李的数据时,MongoDB会把小王的记录替换成小李的记录,即按“_id”执行更新数据的操作。


③使用insert增加数据:_id为test_id, name为小张的数据。

nsert()操作为插入操作,当指定_id的值时会取指定值,不指定_id的值时将会自动创建_id的值。因为插入数据前集合中已有_id=”test_id”的数据,故而插入此条数据失败。


(4)完成以下文档更新操作:在department为marketing的员工集合中添加一个work_place字段,值为room1。


(5)文档查询:
①查询其中age为36的员工,结果中只显示员工姓名字段。
db.getCollection("gx").find({age:36}, {name:1})


②查询集合中年龄大于35岁的员工。
db.getCollection("gx").find({age:{$gt:35}})


③查询department为marketing和finance的员工。
db.getCollection("gx").find(
{department:{$in:["marketing", "finance"]}}
)


④查询年龄最大的两位员工。
db.getCollection("gx").find().sort(({age:-1})).limit(2)

四、实验总结:

本次实验我完成了用MongoDB创建、查询和修改员工信息数据库的操作,实验整体完成较为顺利。在实验中通过对save()、insert()等操作的对比查询,我对插入更新操作的功能及区别有了更系统的学习认识,也明白了这是在今后做MongoDB实验时需要注意的地方。

通过本次实验,我有效地复习了理论课和PPT上的知识点,提高了对MongoDB的理解与运用能力,收获颇丰,谢谢马老师!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值