更新修改器是種特殊的鍵,用來指定複雜的更新操作,比如調整、增加或者刪除鍵,還可能是從運算元組或者內嵌文件.
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.更新整個文件 假設現在有下面的乙個文件 如果覺得這樣不好,需要講父親和...