NoSQL 数据库案例实战 --MongoDB 数据库 数据的插入、查询、更新、删除 ---- 强化练习(一)

MongoDB 数据库 数据的插入、查询、更新、删除 ---- 强化练习(一)

前言

本环境是基于 Centos 7.8 系统构建mongodb-enterprise-4.2.8学习环境
具体构建,请参考 mongodb-enterprise-4.2.8 环境构建


1、使用yum在线安装MongoDB 
	https://blog.csdn.net/XY0918ZWQ/article/details/113809564
	
2、源码安装MongoDB并配置服务脚本 
	https://blog.csdn.net/XY0918ZWQ/article/details/113809564
	
3、基本操作作业 
1)创建一个数据库 名字grade 
	MongoDB Enterprise > use grade
	switched to db grade
	MongoDB Enterprise > db
	grade
	
2)数据库中创建一个集合名字 class 
	MongoDB Enterprise > db.createCollection('class')
	{ "ok" : 1 }
	MongoDB Enterprise > db.getCollection('class')
	grade.class
3)集合中插入若干数据 
MongoDB Enterprise > db.class.insertMany([
... {name:'张扬',age:3,sex:'m',hobby:['draw','sing','dance']},
... {name:'王钊',age:3,sex:'m',bobby:['sing']},
... {name:'梁涛',age:8,sex:'m',bobby:['sing','dance','computer']},
... {name:'王亮',age:4,sex:'m',bobby:['sing','basketball','computer']},
... {name:'唐伟',age:4,sex:'m',bobby:['basketball','computer']},
... {name:'朱晓鹏',age:4,sex:'m',bobby:['football']},
... {name:'师娜娜',age:5,sex:'F',bobby:['sing','dance','pingpong']},
... {name:'刘婷阳',age:5,sex:'F',bobby:['sing','dance']},
... {name:'马帅帅',age:5,sex:'m',bobby:['sing']},
... {name:'程阳阳',age:6,sex:'m',bobby:['sing','dance','draw']},
... {name:'葛丽丽',age:7,sex:'F',bobby:['draw']},
... {name:'姚媛媛',age:8,sex:'F',bobby:['sing','dance','draw']},
... {name:'蒙卫国',age:8,sex:'m',bobby:['sing','basketball','draw']},
... {name:'赵晓娜',age:4,sex:'F',bobby:['sing','dance','computer','basketball','draw']},
... {name:'郑玲玲',age:8,sex:'F',bobby:['sing','draw']},
... {name:'汤瑞瑞',age:9,sex:'F',bobby:['dance','draw']},
... {name:'刘婷',age:11,sex:'f',bobby:['dance','draw','sing']},
... {name:'郑杨',age:11,sex:'m',bobby:['dance','basketball']},
... {name:'史小裕',age:12,sex:'f',bobby:['dance','football']},
... {name:'程资阳',age:13,sex:'f',bobby:['dance','pingpong']},
... {name:'赵磊',age:14,sex:'m',bobby:['dance','sing']},
... {name:'赵磊',age:15,sex:'m',bobby:['dance','draw','sing']},
... {name:'张子娇',age:8,sex:'F',bobby:['sing','dance','draw']},
... {name:'刘大伟',age:9,sex:'m',bobby:['sing','basketball','football','pingpong']},
... {name:'郑甜甜',age:7,sex:'F',bobby:['sing','dance','draw']}
... ])
{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("602a7058310063fbb7d16ec1"),
		ObjectId("602a7058310063fbb7d16ec2"),
		ObjectId("602a7058310063fbb7d16ec3"),
		ObjectId("602a7058310063fbb7d16ec4"),
		ObjectId("602a7058310063fbb7d16ec5"),
		ObjectId("602a7058310063fbb7d16ec6"),
		ObjectId("602a7058310063fbb7d16ec7"),
		ObjectId("602a7058310063fbb7d16ec8"),
		ObjectId("602a7058310063fbb7d16ec9"),
		ObjectId("602a7058310063fbb7d16eca"),
		ObjectId("602a7058310063fbb7d16ecb"),
		ObjectId("602a7058310063fbb7d16ecc"),
		ObjectId("602a7058310063fbb7d16ecd"),
		ObjectId("602a7058310063fbb7d16ece"),
		ObjectId("602a7058310063fbb7d16ecf"),
		ObjectId("602a7058310063fbb7d16ed0"),
		ObjectId("602a7058310063fbb7d16ed1"),
		ObjectId("602a7058310063fbb7d16ed2"),
		ObjectId("602a7058310063fbb7d16ed3"),
		ObjectId("602a7058310063fbb7d16ed4"),
		ObjectId("602a7058310063fbb7d16ed5"),
		ObjectId("602a7058310063fbb7d16ed6"),
		ObjectId("602a7058310063fbb7d16ed7"),
		ObjectId("602a7058310063fbb7d16ed8"),
		ObjectId("602a7058310063fbb7d16ed9")
	]
}

# 查看插入的数据
MongoDB Enterprise > db.class.find()
{ "_id" : ObjectId("602a7058310063fbb7d16ec1"), "name" : "张扬", "age" : 3, "sex" : "m", "hobby" : [ "draw", "sing", "dance" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ec2"), "name" : "王钊", "age" : 3, "sex" : "m", "bobby" : [ "sing" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ec3"), "name" : "梁涛", "age" : 8, "sex" : "m", "bobby" : [ "sing", "dance", "computer" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ec4"), "name" : "王亮", "age" : 4, "sex" : "m", "bobby" : [ "sing", "basketball", "computer" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ec5"), "name" : "唐伟", "age" : 4, "sex" : "m", "bobby" : [ "basketball", "computer" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ec6"), "name" : "朱晓鹏", "age" : 4, "sex" : "m", "bobby" : [ "football" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ec7"), "name" : "师娜娜", "age" : 5, "sex" : "F", "bobby" : [ "sing", "dance", "pingpong" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ec8"), "name" : "刘婷阳", "age" : 5, "sex" : "F", "bobby" : [ "sing", "dance" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ec9"), "name" : "马帅帅", "age" : 5, "sex" : "m", "bobby" : [ "sing" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16eca"), "name" : "程阳阳", "age" : 6, "sex" : "m", "bobby" : [ "sing", "dance", "draw" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ecb"), "name" : "葛丽丽", "age" : 7, "sex" : "F", "bobby" : [ "draw" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ecc"), "name" : "姚媛媛", "age" : 8, "sex" : "F", "bobby" : [ "sing", "dance", "draw" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ecd"), "name" : "蒙卫国", "age" : 8, "sex" : "m", "bobby" : [ "sing", "basketball", "draw" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ece"), "name" : "赵晓娜", "age" : 4, "sex" : "F", "bobby" : [ "sing", "dance", "computer", "basketball", "draw" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ecf"), "name" : "郑玲玲", "age" : 8, "sex" : "F", "bobby" : [ "sing", "draw" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ed0"), "name" : "汤瑞瑞", "age" : 9, "sex" : "F", "bobby" : [ "dance", "draw" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ed1"), "name" : "刘婷", "age" : 11, "sex" : "f", "bobby" : [ "dance", "draw", "sing" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ed2"), "name" : "郑杨", "age" : 11, "sex" : "m", "bobby" : [ "dance", "basketball" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ed3"), "name" : "史小裕", "age" : 12, "sex" : "f", "bobby" : [ "dance", "football" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ed4"), "name" : "程资阳", "age" : 13, "sex" : "f", "bobby" : [ "dance", "pingpong" ] }
Type "it" for more
MongoDB Enterprise > it
{ "_id" : ObjectId("602a7058310063fbb7d16ed5"), "name" : "赵磊", "age" : 14, "sex" : "m", "bobby" : [ "dance", "sing" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ed6"), "name" : "赵磊", "age" : 15, "sex" : "m", "bobby" : [ "dance", "draw", "sing" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ed7"), "name" : "张子娇", "age" : 8, "sex" : "F", "bobby" : [ "sing", "dance", "draw" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ed8"), "name" : "刘大伟", "age" : 9, "sex" : "m", "bobby" : [ "sing", "basketball", "football", "pingpong" ] }
{ "_id" : ObjectId("602a7058310063fbb7d16ed9"), "name" : "郑甜甜", "age" : 7, "sex" : "F", "bobby" : [ "sing", "dance", "draw" ] }





--- 查询操作
4)查询操作 
查看班级所有人信息 
	MongoDB Enterprise > db.class.find().pretty()
	
查看班级中年龄为8岁的学生信息 
	MongoDB Enterprise > db.class.find({age:8}).pretty()

查看年龄大于10岁的学生信息 
	MongoDB Enterprise > db.class.find({age:{$gt:10}}).pretty()
	
查看年龄在 4---8岁之间的学生信息 
	MongoDB Enterprise > db.class.find({age:{$gte:4,$lte:8}}).pretty()
	
找到年龄为6岁且为男生的学生 
	MongoDB Enterprise > db.class.find({age:6,sex:'m'}).pretty()

找到年龄小于7岁或者大于10岁的学生 
	MongoDB Enterprise > db.class.find({$or:[{age:{$lt:7}},{age:{$gt:10}}]}).pretty()

找到年龄是8岁或者11岁的学生 
	MongoDB Enterprise > db.class.find({$or:[{age:8},{age:11}]}).pretty()
	或者
	MongoDB Enterprise > db.class.find({age:{$in:[8,11]}}).pretty()
	
找到兴趣爱好有两项的学生 
	MongoDB Enterprise > db.class.find({hobby:{$size:2}})
	
找到兴趣爱好有draw的学生 
	MongoDB Enterprise > db.class.find({hobby:{$in:['draw']}})
	或者
	MongoDB Enterprise > db.class.find({hobby:'draw'}).pretty()
	
找到既喜欢画画又喜欢跳舞的学生 
	MongoDB Enterprise > db.class.find({hobby:'dance',hobby:'draw'})
	或者
	MongoDB Enterprise > db.class.find({hobby:{$all:['draw','dance']}})
	
统计爱好有三项的学生人数 
	MongoDB Enterprise > db.class.find({hobby:{$size:3}}).count()
	
找出本班年龄第二大的学生 
	MongoDB Enterprise > db.class.find({},{name:1,age:1,_id:0}).sort({age: -1}).skip(1).limit(1)
	或者
	MongoDB Enterprise > db.class.find({},{name:1,age:1,_id:0}).sort({age: -1}).limit(1).skip(1)
	
查看学生的兴趣范围 
	MongoDB Enterprise > db.class.distinct('hobby')
	
将学生按年龄排序找到年龄最大的三个 
	MongoDB Enterprise > db.class.find({},{name:1,age:1,_id:0}).sort({age: -1}).limit(3)

	

	
5)增加、更新、删除、统计 
删除所有年纪大于12或者小于4岁的学生 
	MongoDB Enterprise > db.class.remove({$or:[{age:{$gt:12}},{age:{$lt:4}}]})
	
将张子娇的年龄变为8岁 兴趣爱好变为 跳舞 画画 
	MongoDB Enterprise > db.class.update({name:'张子娇'},{$set:{age:8,hobby:['dance','draw']}})
	
追加张子娇兴趣爱好 唱歌 
	MongoDB Enterprise > db.class.update({name:'张子娇'},{$set:{hobby:['dance','draw','sing']}})
	
张子娇兴趣爱好增加 吹牛 打篮球 
	MongoDB Enterprise > db.class.update({name:'张子娇'},{$set:{hobby:['dance','draw','sing','basketball','吹牛']}})
	
师娜娜增加爱好,跑步和唱歌,但是不要和以前的重复 
	MongoDB Enterprise > db.class.update({name:'张子娇'},{$set:{hobby:["sing", "dance", "pingpong",'runing','sing'] }})

该班所有同学年龄加1 
	MongoDB Enterprise > db.class.update({},{$inc:{age:2}},{multi:true})
	
删除马帅帅的sex属性 
	MongoDB Enterprise > db.class.update({name:'马帅帅'},{$unset:{sex:1}})
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值