头歌实践教学平台:大数据存储2023(十七3)

发布时间:2026/9/1 1:47:24
头歌实践教学平台:大数据存储2023(十七3) 十七、MongoDB 数据库基本操作第4关文档操作二任务描述本关任务文档数据在 MongoDB 中的查询和删除。相关知识为了完成本关任务你需要掌握查询文档命令删除文档命令。查询文档我们先插入文档到集合 stu1 document([{name:张小华,sex:男,age:20,phone:12356986594,hobbies:[打篮球,踢足球,唱歌]},{name:李小红,sex:女,age:18,phone:12355487536,hobbies:[跳舞,唱歌]}])db.stu1.insert(document)然后查看 stu1 命令和结果如图1所示因为我们没有设置_id所以 MongoDB 会默认生成图 1上述显示的文档格式不够整齐我们可以使用 pretty() 方法使输出更整齐如图2所示图 2条件查询操作 格式 范例 关系数据库中类似的语句等于 {key:value} db.stu1.find({name:李小红}).pretty() where name 李小红小于 {key:{$lt:value}} db.stu1.find({age:{$lt:18}}).pretty() where age 18小于或等于 {key:{$lte:value}} db.stu1.find({age:{$lte:18}}).pretty() where age 18大于 {key:{$gt:value}} db.stu1.find({age:{$gt:18}}).pretty() where age 18大于或等于 {key:{$gte:value}} db.stu1.find({age:{$gte:18}}).pretty() where age 18不等于 {key:{$ne:value}} db.stu1.find({age:{$ne:18}}).pretty() where age ! 18现在我们来查找一下 age 大于18岁的数据命令和效果如图3所示图 3AND 条件find() 方法可以传入多个键 (key)每个键 (key) 以逗号隔开即常规 SQL 的 AND 条件。如查询集合 stu1 中年龄为20岁的男性信息db.stu1.find({age:20, sex:男}).pretty()查询结果如图4所示图 4删除文档数据删除指定的数据db.stu1.remove({age:20}) //删除年龄为20的数据查看该集合的内容如果只剩下如图5所示的信息说明数据删除成功图 5删除全部数据集合并不会删除db.remove({})查看该集合的内容如果如图6所示无显示或者显示为空说明数据全部删除图 6编程要求现有文档数据如下键 值_id 1name 西西sex 女age 23national 汉族键 值_id 2name 东东sex 男age 20national 苗族键 值_id 3name 北北sex 男age 19national 汉族键 值_id 4name 南南sex 女age 15national 傣族把上述数据赋值给变量 document 一条命令插入到集合 stu1 、stu2执行查询命令查找集合 stu1 中年龄大于等于15岁的女生执行查询命令查找集合 stu1 中苗族人执行查询命令查找集合 stu1 中年龄小于20岁的男生执行删除命令删除集合 stu2 的所有数据。上述操作共有六条命令请按要求填入右侧代码栏 Begin-End 中每条命令以英文分号“ ;”号隔开由于测试需要请在“ $ ” 前加 “ \ ” 转义符平时在命令窗口练习不需要加“ \ ”。测试说明操作完之后点击评测平台会对你的操作测试如果操作成功平台会输出如 测试集1所示的结果否则会显示报错信息。提示 如果右侧命令行无响应是因为云端二十分钟会自动关闭容器重新刷新页面即可解决问题刷新之后环境会重置所以你还需要重新创建数据库和表。开始你的任务吧祝你成功#########begin#########echo document ([{_id:1,name:西西,sex:女,age:23,national:汉族},{_id:2,name:东东,sex:男,age:20,national:苗族},{_id:3,name:北北,sex:男,age:19,national:汉族},{_id:4,name:南南,sex:女,age:15,national:傣族}]);db.stu1.insert(document);db.stu2.insert(document);db.stu1.find({age:{\$gte:15},sex:女}).pretty();db.stu1.find({national:苗族}).pretty();db.stu1.find({age:{\$lt:20},sex:男}).pretty();db.stu2.remove({});#########end#########有任何问题都可以随时关注私信