1、 请写出MongoDB术语相对应的关系数据库术语,例如:“文档集”对应“表”。并简述你所了解的MongoDB特点。
RDBMS | MongoDB |
---|---|
数据库 | 数据库 |
表格 | 集合 |
行 | 文档 |
列 | 字段 |
表联合 | 嵌入文档 |
主键 | 主键 (MongoDB 提供了 key 为 _id ) |
【注意:MongoDB自动将_id字段设置为主键】
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
特点:高性能、易部署、易使用,存储数据非常方便。
2、 完成如下数据库shell命令操作内容:
2.1建立一个工作室学习数据库,并建立学生信息文档集,其中需含有(姓名,年龄,工作室编号,学号,简历)等字段(field),简历字段为字符串类型;
2.2 将大数据工作室同学名单插入到文档集,每个工作室不少于10人;
db.col.insert({name: '车文儒',
age:21,
workroomid:6813,
studyid:201926701054,
information: '团员'
})
db.col.insert({name: '李四',
age:21,
workroomid:6813,
studyid:201926701052,
information: '群众'
})
db.col.insert({name: '张三',
age:23,
workroomid:6812,
studyid:201926701051,
information: '团员'
})
db.col.insert({name: '王五',
age:23,
workroomid:6812,
studyid:201926701053,
information: '团员'
})
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eshx6cJT-1635990554501)(https://i.loli.net/2021/10/26/3xJVIF64teZpdfh.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KXPk6wdj-1635990554504)(https://i.loli.net/2021/10/26/QkA3FTmWKXxwRl2.png)]
2.3 查找年龄大于22岁的同学信息;
db.col.find({"age":{$gt:22}}).pretty()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-heM6Y7Qn-1635990554506)(https://i.loli.net/2021/10/26/PVzihbQdHn2Z6qB.png)]
2.4使用正则表达式或其它方法,查找简历中含有 (“团员” “入团”)字符串的学生信息;
db.col.find({"information":/团员/}).pretty()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zza8Lv8h-1635990554508)(https://i.loli.net/2021/10/26/KWPYbqD75cSrG4t.png)]
2.5根据工作室分类,统计每个工作室的学生人数;
db.col.find({"workroomid":6812}).count()
db.col.find({"workroomid":6813}).count()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OlCRxTD6-1635990554510)(https://i.loli.net/2021/10/26/p2TnIzPN3ogeKRl.png)]
2.6将你所在工作室同学的年龄加1。
db.col.update({"workroomid":6813},{$inc:{"age":1}},{multi:true})
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nUIjOzcQ-1635990554511)(mongodb实验1.assets/image-20211026194644150.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dotBiZoj-1635990554513)(mongodb实验1.assets/image-20211026194626050.png)]