天天看点

mongoDB文档操作

数据库操作无非就是增、删、改、查。这篇主要介绍增、删、改。

Mongodb插入操作很简单,使用关键字“insert”。实例:

使用insert关键字,里面设置文档。如果文档中没有“_id”,Mongodb会自动生成。

当执行插入操作时,数据库会校验是否包含“_id”键,并且文档不超过4MB,除此之外,不做其他检查。这样使得数据库更加安全,远离注入式攻击(Mongodb在插入时不执行代码)。

remove可以接受一个查询文档作为可选参数,给定参数以后,只有符合条件的文档才会被删除。如果没有带参数,那么就是删除集合中的所有文档,但是不会删除集合本身,原来的索引也会保留。

文档存入数据库后,可以使用update方法来修改它,update有两个参数,一个是查询文档,用来找出要更新的文档,另一个是修改器文档,描述对找到的文档做哪些修改。更新操作时原子的,若是两个更新同时发生,先到达服务器的先执行,接着执行另一个。

mongoDB文档操作
mongoDB文档操作

修改数据方式一代码

$set和$unset

$set用来指定一个键的值。如果键不存在,则创建它。可以用来修改值,数组,内嵌文档。

$unset用来卸载一个键值对。

$unset代码

 更新数字

$inc用来增加键值,键不存在时创建

数组修改器

$push会向已有的数组末尾加入一个元素,要是没有就创建数组

 $pop可以从数组任何一端删除元素。{$pop:{key:1}}从数组末尾删除,{$pop:{key:1}}则从头部删除

$pull基于特定条件删除

数组定位

数组定位可以使用位置或者定位操作符“$”

数组下标都是从0开始,所以可以使用下标直接作为键来选择元素

使用upsert(update or insert)

upsert是一种特殊的更新,要是没有文档符合更新要求,就会以这个条件和更新文档做为基础创建一个新的文档。如果找到匹配的文档,则正常更新。update的第三个参数表示是否使用upsert更新

更新多个文档

默认情况下,更新只对符合条件的第一个文档进行修改,如果有多个符合条件的文档,其余文档就没有变化。如果想要更新所有匹配条件的文档,就要设置第四个参数为true

update的四个参数描述:

1.需要更新文档匹配的条件

2.需要更新的数据

3.是否采用upsert方式更新:默认false

4.是否使用匹配条件的文档都修改:默认false

当神已无能为力,那便是魔渡众生