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正好相反) 記住哦

相關文章
相關標籤/搜索