第七周学习总结

NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。NoSQL 数据库的发展却能很好的处理这些大的数据。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装MongoDB
在这里插入图片描述
使用MongoDB:

创建数据库基本语法:use DATABASE_NAME

如果你想查看所有数据库,可以使用show dbs命令:
数据结构由键值(key=>value)对组成:
数据的增删改查:
所以插入数据时:需要 例如:db.runoob.insert({“name”:“余紫玲”})
在这里插入图片描述

在这里插入图片描述
改变数据需要写出原来的数据,不然会出现错误如下:
在这里插入图片描述
正确如下:
在这里插入图片描述
删除数据:

在这里插入图片描述
删除数据库:在这里插入图片描述

集合的有关操作:

创建集合基本语法:db.createCollection(name, options)

参数说明:
• name: 要创建的集合名称
• options: 可选参数, 指定有关内存大小及索引的选项
在这里插入图片描述
在这里插入图片描述

删除集合:db.collection.drop()

例子:
在这里插入图片描述

文档的操作:

插入文档:MongoDB 使用 insert() 或 save() 方法向集合中插入文档,
语法如下:db.COLLECTION_NAME.insert(document)

在这里插入图片描述

我们也可以将数据定义为一个变量,如下所示:
在这里插入图片描述

更新文档:
update()方法:

update() 方法用于更新已存在的文档。语法格式如下:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数说明:
• query: update的查询条件,类似sql update查询内where后面的。
• update: update的对象和一些更新的操作符(如 , , ,inc…)等,也可以理解为sql update查询内set后面的
• upsert: 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
• multi: 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
• writeConcern:可选,抛出异常的级别。

修改文档内容:
在这里插入图片描述
如果你要修改多条相同的文档,则需要设置 multi 参数为 true:例如
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

删除文档:
remove()方法:

db.collection.remove(
   <query>,
   <justOne>
)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。
如删除集合下全部文档:

db.inventory.deleteMany({})

删除 status 等于 A 的全部文档:

db.inventory.deleteMany({ status : "A" })

删除 status 等于 D 的一个文档:

db.inventory.deleteOne( { status: "D" } )

remove() 方法 并不会真正释放空间。
需要继续执行 db.repairDatabase() 来回收磁盘空间。

db.repairDatabase()
或者
 db.runCommand({ repairDatabase: 1 })

如果你只想删除第一条找到的记录可以设置 justOne 为 1,如下所示:

db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

如果你想删除所有数据,可以使用以下方式(类似常规 SQL 的 truncate 命令):

db.col.remove({})
db.col.find()

MongoDB 查询文档

查询数据语法:db.collection.find(query, projection)

• query :可选,使用查询操作符指定查询条件
• projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:

db.col.find().pretty()
pretty() 方法以格式化的方式来显示所有文档。

MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,即常规 SQL 的 AND 条件。

语法格式如下:

db.col.find({key1:value1, key2:value2}).pretty()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

条件操作符:
条件操作符用于比较两个表达式并从mongoDB集合中获取数据。
在本章节中,我们将讨论如何在MongoDB中使用条件操作符。
MongoDB中条件操作符有:
• (>) 大于 - $gt
• (<) 小于 - $lt
• (>=) 大于等于 - $gte
• (<= ) 小于等于 - $lte
如果你想获取 “col” 集合中 “likes” 大于 100 的数据,你可以使用以下命令:

•	db.col.find({likes : {$gt : 100}})

• 类似于SQL语句:

•	Select * from col where likes > 100;

在这里插入图片描述
如果你想获取"col"集合中 “likes” 大于等于 100 的数据,你可以使用以下命令:

db.col.find({likes : {$gte : 100}})

类似于SQL语句:

Select * from col where likes >=100;

在这里插入图片描述

如果你想获取"col"集合中 “likes” 小于 150 的数据,你可以使用以下命令:

db.col.find({likes : {$lt : 150}})

类似于SQL语句:

Select * from col where likes < 150;

在这里插入图片描述
如果你想获取"col"集合中 “likes” 小于等于 150 的数据,你可以使用以下命令:

db.col.find({likes : {$lte : 150}})

类似于SQL语句:

Select * from col where likes <= 150;

在这里插入图片描述

如果你想获取"col"集合中 “likes” 大于100,小于 200 的数据,你可以使用以下命令:

db.col.find({likes : {$lt :200, $gt : 100}})

类似于SQL语句:

Select * from col where likes>100 AND  likes<200;

在这里插入图片描述

$gt -------- greater than  >

$gte --------- gt equal  >=

$lt -------- less than  <

$lte --------- lt equal  <=

$ne ----------- not equal  !=

$eq  --------  equal  =

参考:http://www.runoob.com/mongodb/mongodb-tutorial.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值