MongoDB 更新修改器

2021-09-01 07:37:36 字數 1608 閱讀 9054

更新修改器是種特殊的鍵,用來指定複雜的更新操作,比如調整、增加或者刪除鍵,還可能是從運算元組或者內嵌文件.

1.$inc修改器 用來增加值。

> db.analytics.find();

> db.analytics.update(,})

> db.analytics.find();

2.$set修改器 用來指定乙個鍵的值,如果這個鍵不存在,則建立它。

> db.users.find();

> db.users.update(,});

> db.users.find();

3.陣列修改器

3.1$push往陣列中新增元素

> db.blog.find();

> db.blog.update(,}})

> db.blog.findone();

],"content" : "here's my blog post.",

"date" : "2012-12-04",

"title" : "my blog post"

}3.2$addtoset可避免重複資料

db.user.update(,})

> db.users.find();

3.3$addtoset和$each的組合使用

> db.users.update(,}})

> db.users.find();

3.4$pop從陣列中刪除元素

> db.lists.find();

> db.lists.update(,})//-1表示從陣列頭開始刪除,1表示從陣列尾部開始刪除

> db.lists.find()

3.5$pull從陣列中刪除指定元素

> db.lists.update({},})

> db.lists.find()

3.6陣列定位修改器

有2鐘方法運算元組中的值:通過位置或者定位操作符("$")

3.7upsert選項

upsert是一種特殊的更新。要是沒有文件符合更新條件,就會以這個條件和更新文件為基礎建立乙個新的文件。如果找到了匹配的文件,則正常更新.

> db.math.remove()

> db.math.find()

> db.math.update(,})

> db.math.find()

> db.math.update(,},true)

> db.math.find()

3.8更新多個文件

db.math.update(query, object[, upsert_bool, multi_bool])

設定multi_bool為true即可

> db.runcommand()

上面**可得到更新的記錄數目

3.9返回更改記錄

> db.runcommand(,"sort":,"remove":true}).value

「findandmodify」:字串,集合名

「query」:查詢文件,用來檢索文件的條件

"sort":排序結果的條件

「update」:修改器文件

「remove」:表示是否刪除文件

「new」:表示返回的是更新前的文件還是更新後的文件

MongoDB 修改器push(Java實現)

由於表結構設計中需要對內嵌文件進行新增,如下 name joli age 24 course 05 利用set修改器時,可以修改內嵌文件形式,實現如下 basicdbobject use1 new basicdbobject use1.put 時間 time use1.put id new obje...

MongoDB 資料操作(三)資料更新(2)修改器

對 mongodb 資料庫而言,資料的修改會牽扯到內容的變更 結構的改變 包含陣列 所以在 mongodb 設計的時候,就提供有一系列的修改器的應用,如之前的 set就是乙個修改器 1 inc 針對數字字段,增加某個數字欄位的資料內容 將年齡為 19 的成員的成績全部減30,並且年齡 1 db.st...

MongoDB入門3 更新文件和修改器1

我們前面講mongodb的crud操作講過 mongodb的更新操作通過集合的update 函式實現。這個函式有兩個引數 要更改的文件和更改後的樣子。要更新文件有兩種情況 更新文件和對文件某些部分更新。下面分別說說這兩種情況 1.更新整個文件 假設現在有下面的乙個文件 如果覺得這樣不好,需要講父親和...