switchedtodbupdatetest首先插入一下:db.things.insert({name:"test1"})db.things.find({name:"test1"})會找到:{"_id":ObjectId("50f1778ea5ec290b7773303b"),"name":"test1"}更新的格式為:db.collection." />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Mongodb中更新的學習小結

系統 1616 0

今天繼續很久沒學習的mongodb的簡單學習,今天來看的是更新。先來看簡單的用法: ?

use updatetest ?
>switched to db updatetest ?

首先插入一下: ?
db.things.insert( { name : "test1"} ) ?

db.things.find({name : "test1"}) ?
會找到: ?
? { "_id" : ObjectId("50f1778ea5ec290b7773303b"), "name" : "test1" } ?

? 更新的格式為: ?
? db.collection.update( criteria, objNew, upsert, multi ) ?
參數: ?
criteria - 查詢需要更新的項; ?
objNew - 更新的對象或者 $ operators (例如 $inc) 這樣的操作因子 ?
upsert - 是否是 "upsert"; 也就是說如果記錄不存在是否插入新的記錄 ?
multi - 是否所有滿足criteria的在整個文檔都更新 ?
注意:在缺省情況下,update()只會更新第一個滿足條件的項。如果需要修改所以的滿足條件的 ?
項的話,需要使用multi這個標志位。 ?

? db.things.update({name: "test1"}, {name: "test2"}) ?
再find一下 ?
? db.things.find({name : "test2"}) ?
會發現有test2了; ?
?? 再來: ?
db.things.update({name : "hello"}, {name: "hello,abc"}, true); ?
? 注意參數true這里的用法,結果為,因為hello沒有,所以只會插入 ?
hello,abc了。 ?
? 也可以寫成: ?
? db.things.update({name : "hello"}, {name: "hello,abc"}, { upsert: true }); ?
注意: ?
1、update方法只更新一條記錄 ?
默認情況下update只更新符合查詢條件的第一條找到的記錄。如果想更新所有符合條件的記錄,需要手動添加 multi 這個參數。 ?

2、update方法的更新參數 ?
像下面這個語句 ?
updatetest.update( { _id: X }, {name: "Joe", age: 20 }); ?
會把符合條件的原紀錄按照{name: "Joe", age: 20 }完整替換,而不是簡單的將name設為"Joe",age設為20. ?
如果只想更改這2個值,而不是替換完整對象,應該寫 ?
updatetest.update( { _id: X },{$set: {name: "Joe", age: 20 }}); ?
?? ?
?? $inc的用法,比如統計經常要用到了,如: ?
? db.things.update({BlogPost: "How To Do Upserts"}, {$inc: {Hits: 1}}, { upsert: true }); ?
?? ?
db.things.find({BlogPost : "How To Do Upserts"}) ?
>{ "_id" : ObjectId("50f17b4541c33bd2459aafed"), "BlogPost" : "How To Do Upserts", "Hits" : 1 } ?
再多運行兩次: ?

? db.things.update({BlogPost: "How To Do Upserts"}, {$inc: {Hits: 1}}, { upsert: true }); ?
db.things.update({BlogPost: "How To Do Upserts"}, {$inc: {Hits: 1}}, { upsert: true }); ?
>db.things.find({BlogPost : "How To Do Upserts"}) ?

>{ "_id" : ObjectId("50f17b4541c33bd2459aafed"), "BlogPost" : "How To Do Upserts", "Hits" : 3 } ?

可以看到,hits變為3了。 ?
??? ?
multi的用法: ?
?? 比如: ?
db.Indexing.insert( { name : "Denis", age : 10 } ) ?
db.Indexing.insert( { name : "Denis", age : 20 } ) ?
db.Indexing.insert( { name : "Denis", age : 30 } ) ?

要將所有的denies的age都更新,必須加行multi: ?
db.Indexing.update({name: "Denis"}, {$set: {age: 42}},{ multi: true })

Mongodb中更新的學習小結


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久亚洲伊人中字综合精品 | 在线观看中文字幕亚洲 | 午夜久久久久久网站 | 国产精品久久久久久久久久直 | 久久久久久国产精品免费免费 | 乡下女色又黄一级毛片 | 久久久亚洲欧洲日产国码二区 | 国内精品久久影院 | 日韩欧美亚洲中字幕在线播放 | 羞羞视频在线观看 | 99精品99 | 亚洲精品视频网 | 综合网在线视频 | 国产日韩三级 | 亚洲国产欧美在线不卡中文 | 国产一级精品视频 | 羞羞的视频在线观看 | 性欧美4k高清精品 | 黄页成人免费网站 | 久久综合久色欧美婷婷 | 九九免费在线视频 | 成人一区专区在线观看 | 黑人特黄aa毛片 | 日本中文字幕免费 | 暴劫倾情无删减在线播放 | 日韩视频一 | 国产成人精品一区二区三区 | 欧美成人午夜在线全部免费 | 福利在线播放 | 欧美激情久久久久久久大片 | 亚洲综合在线成人一区 | 久久99精品久久久久久园产越南 | 99久久亚洲国产高清观看 | 精品一区二区三区免费毛片爱 | 99久久久免费精品免费 | 欧美成人高清 | 久久久国产99久久国产一 | 婷婷丝袜 | 久热精品视频 | 日日摸夜夜爽日日放碰 | 欧美国产亚洲一区二区三区 |