天天看點

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

當神已無能為力,那便是魔渡衆生