天天看點

MongoDB資料修改案例

資料更新操作

隊友MongoDB而言,資料更新是一件非常麻煩的事情。Mongo通常會存副本資料,資料有變更的時候,最好的做法是删除MongoDB的資料,重新插入。

Mongo中提供了兩個函數,一個是save(),一個是update()。

範例:更新存在的資料 -- 将年齡是19歲的人的成績都更新為100分

隻更新查詢出的第一條資料,沒有不增加

所有滿足條件的資料都更新

範例: 更新不存在的資料 -- 将年齡是30歲的人更新他的名稱name

第一個true表示如果不存在,則建立一條新資料。這種功能用的比較少。

修改器

1.inc 主要針對一個數字字段,增加某個字段的資料内容。

範例:将所有年齡為19歲的學生成績一律減少30分。

2.set 進行内容重新設定

範例:将年齡為20的人的成績修改為89

<code>sql db.students.update({"age":19},{"$set":{"score":-89}},false,true);</code>

3.unset 删除某個成員的内容

範例:删除張三的年齡和成績資訊

4.push 相當于将内容追加到指定的成員之中(基本上是用于數組)。一次增加一個元素,如果增加的是數組,表示一次增加一個數組。

範例:向張三添加課程資訊

如果沒有數組,就進行一個新的數組的建立,如果有則進行内容的追加。

5.pushAll與push類似,可以一次追加多個内容到數組裡面

6.addToSet 如果已存在就不添加了

7.pop 删除數組内的資料。文檔是行,成員是列,集合是表。-1表示第一個課程。1表示最後一個課程。

8.pull 從數組中删除指定内容的資料

9.pullAll一次性删除多個内容

10.rename 為成員名稱重命名