NoSQL database case combat--insert, query, update, and delete data in MongoDB database---strengthening exercises (1)

Insert, query, update and delete data in MongoDB database-intensive exercises (1)

Preface

This environment is based on the Centos 7.8 system to build mongodb-enterprise-4.2.8 learning environment For
specific construction, please refer to mongodb-enterprise-4.2.8 environment construction


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}})

Guess you like

Origin blog.csdn.net/XY0918ZWQ/article/details/113819309