MongoDB 之 $关键字 及 $修改器 $set $inc $push $pull $pop MongoDB - 4

咱们在以前的 MongoDB 之 手把手教你增删改查 MongoDB - 2 中提到过 $set 这个系统关键字,用来修改值的对吧html

可是MongoDB中相似这样的关键字有不少, $lt $gt $lte $gte 等等,这么多咱们也不方便记,这里咱们说说几个比较常见的数据库

一.查询中常见的 等于 大于 小于 大于等于 小于等于app

等于 : 在MongoDB中什么字段等于什么值其实就是 " : " 来搞定 好比 "name" : "路飞学城"post

大于 : 在MongoDB中的 大于 > 号 咱们用 : $gt  好比 :  "score" : { $gt : 80 } 就是 获得 "score" 大于 80 的数据3d

小于 : 在MongoDB中的 小于 < 号 咱们用 : $lt  好比 :  "score" : { $lt : 80 } 就是 获得 "score" 小于 80 的数据htm

大于等于 : 在MongoDB中的 大于等于 >= 号 咱们用 : $gte  好比 :  "score" : { $gte : 80 } 就是 获得 "score" 大于等于 80 的数据blog

小于等于 : 在MongoDB中的 小于等于 <= 号 咱们用 : $lte  好比 :  "score" : { $lte : 80 } 就是 获得 "score" 小于等于 80 的数据队列

这就是MongoDB中的运算符,是否是很相似咱们使用的ORM中的运算符啊,没错,最开始的时候咱们就已经说了,MongoDB的操做就是很相似ORM的get

 

二.MongoDB中的那些个update修改器: $inc $set $unset $push $pullit

在此前的update中,咱们用过$set,对数据进行过更新,其实在update中还存在不少的$关键字,咱们把update中的这些关键字叫作 修改器

修改器不少,这里挑一些重要的来讲一说:

1.$inc : Python中的  变量 += 1 , 将查询到的结果 加上某一个值 而后保存

仍是刚才Collection数据,咱们来试一下$inc , 让不及格的 "路飞学城2" 变成 60 分

成功了 , {$inc:{"score":1}}的意思是,"score"的原有数值上面 +1,那咱们再来实验一次,把60改成20,这怎么操做呢,其实能够理解为在 60 上加一个 -40

又成功了 , {$inc:{"score":-20}}也来越喜欢英俊潇洒又不会翻车的本身了

$inc 的用法是否是很简单啊,就是原有基础上在增长多少对吧

 

2.$set : 此前咱们已经提到过 $set 的用法和特性(没有就自动添加一条)了

再作一个例子:把 "score" 为 100 分 的 "english_name" 赋值为 "LuffyCity"

再把 "score" 为 20 分的 "score" 赋值为 59 分

完美~

 

3.$unset : 用来删除Key(field)的

作一个小例子 : 刚才咱们有一个新的"english_name" 这个field ,如今咱们来删除它

成功了! {$unset:{"english_name" : 1}} 就是删除 "english_name" 这个 field 至关于 关系型数据库中删除了 字段

 

4. $push : 它是用来对Array (list)数据类型进行 增长 新元素的,至关于咱们大Python中 list.append() 方法

作一个小例子 :首先咱们要先对原有数据增长一个Array类型的field:

使用update $set 的方法只能为Document中的第一条添加

使用updateMany $set 的方法 能够为全部知足条件的 Document 添加 "test_list" , 注意我这里的条件为空 " {} " 就算是为空,也要写上"{}" 记住记住记住

接下来咱们就要队列表进行添加了: 将 "score" 为 100 的Document 中"test_list" 添加一个 6

$push 是在 Array(list) 的尾端加入一个新的元素  {$push : {"test_list" : 6}}

 

5.$pull : 有了$push 对Array类型进行增长,就必定有办法对其内部进行删减,$pull 就是指定删除Array中的某一个元素

作一个例子: 把咱们刚才$push进去的 6 删除掉

问题来了,若是 Array 数据类型中 若是有 多个 6 怎么办呢?

所有删掉了.....

得出了一个结论,只要知足条件,就会将Array中全部知足条件的数据所有清除掉

 

6. $pop : 指定删除Array中的第一个 或 最后一个 元素

作个小例子: 删除"score" 等于 100 分  test_list 的最后一个元素

怎么删除第一个呢?

{$pop:{"test_list" : -1}}  -1 表明最前面, 1 表明最后边 (这和咱们大Python正好相反) 记住哦

相关文章
相关标签/搜索