mongodb修改資料

2021-09-25 01:34:17 字數 2198 閱讀 3994

修改資料

db.collectionname.update(query,update,upsert,multi)

功能:修改乙個文件

引數:query:篩選要修改的文件 相當於where子句,用法同查詢

update:將資料更新為什麼內容相當於set操作,需要使用修改器操作符

upsert:bool值,預設為false,表示如果query的文件不存在則無法修改

如果設定為true表示如果query的文件不存在則根據query和update引數插入新的文件

multi:bool值,預設false 如果有多條符合篩選條件的文件,則只修改第一條,

如果設定為true則修改所有符合條件的文件

例子:將阿紅年齡改為24

db.class0.update(,})

例子:不存在name:『阿麗』,這個文件,會插入這條文件

db.class0.update(,},true)

例子:將所有年齡大於20的改為18,但是第四個引數為false,所以只修改了第一條

db.class0.update(},})

例子:將所有年齡大於20的改為18

db.class0.update(},},false,true)

修改器操作符

$set

修改乙個域的值

增加乙個域

db.class0.update(,})

$unset

刪除乙個域

例子:將阿麗的性別和年齡刪掉,(後面數字習慣寫1或者0,寫其他數字也可以,都表示刪除)

db.class0.update(,})

$rename

修改乙個域的名稱

例子:修改所有的***域為gender

db.class0.update({},},false,true)

$setoninsert

如果update操作插入新的文件,則補充插入內容

例子:如果插入資料則同時插入***和tel域內容

db.class0.update(,,$setoninsert:},true)

$inc

加減修改器

例子:將所有年紀小於18歲的加1

db.class0.update(},},false,true)

*inc   可加正數    負數     小數都可以

$mul

乘法修改器

例子:將阿華的年齡乘以2

db.class0.update(,})

*$mul   可乘以正數    負數     小數都可以

$min  

設定最小值 : 如果篩選的文件指定的域值小於min值則不修改,如果大於min值則改為min值

e.g. 

db.class0.update({},},false,true)

$max 

設定最大值 : 如果篩選的文件指定至於大於max值則不變,如果小於max值則修改為max值

e.g.

db.class0.update({},},false,true)

陣列修改器

$push  向陣列中新增一項

e.g.

db.class1.update(,})

$pushall  向陣列中新增多項

e.g.

db.class1.update(,})

$each  逐個操作

例子:利用each新增多項

db.class1.update(,}})

$position

選擇陣列位置進行操作,必須和each合用

例子:db.class1.update(,}})

$sort

對陣列進行排序,必須和each合用

db.class1.update(,}})

$pull   從陣列中刪除乙個元素

例子:刪除lily的5分

db.class1.update(,})

$pullall

從陣列中刪除多個元素

db.class1.update(,})

$pop

彈出陣列中的一項(只能彈出第一項或者最後一項)

-1表示第一項,1表示最後一項

例子:db.class1.update(,})

$addtoset

向陣列中插入乙個元素,但該元素不能和其他元素重複

db.class1.update(,})

陣列中已經有45,不會再插入

mongodb修改資料庫集合資料

可參考 categories是乙個集合,類 查詢category集合屬於age 22的資料,然後修改資料,unset是刪除資料,set是插入資料 db.categories.update db.categories.update 如果要刪除某乙個集合,可以通過 db.collectionname.d...

dev c 修改資料

今天看完 linux kernel moduletcp ip 程式設計 中實現ping命令是顯示hello module 的資料報程式後,也完成了試驗現在總結如下 步驟一 在 net core dev.c中增加後門 int eefunction01 struct sk buff 0 這是函式eefu...

游標修改資料

declare updateemtinca rcursor cursor scroll 宣告乙個游標 for select emtincar.id as emtincar id,case when b.yieldtransitstatetype id is null then 3 else b.yi...