iT邦幫忙

2022 iThome 鐵人賽

DAY 24
0

開始前可以先開啟雲端後端

更新資料

更新一筆資料

更新符合條件的一筆文件欄位

  • 語法
集合.update_one(篩選條件,更新資訊)
  • 範例 :

我們這個範例是尋找整個集合內欄位為email且資料為test@test.com符合這個條件的文件。這資料會將password 欄位改為123456。沒有的話會新增這筆資料。其中$set為跟新方法我們先不提

collection=db.website
collection.update_one({
    "email":"test@test.com"
},{
    "$set":{
        "password":"123456"
    }
})

多筆資料

  • 語法
集合.update_many(篩選條件,更新資訊)
  • 範例

這個範例是將所有符合欄位中 leval 且資料為 2 的資料,新增或修改 role 欄位的資料 root

collection=db.website
collection.update_many({
    "level":"1"
},{
    "$set":{
        "role":"root"
    }
})

跟新方式

覆蓋/新增欄位

>使用$set覆蓋或新稱欄位

加減數字欄位

使用$inc加減數字欄位 正數為增,負數為減

乘除數字欄位

使用$mul加減數字欄位 都是乘法,可用小數做為除法

清除欄位

使用$unset 清除欄位

取得更新結果

更新一筆文件的結果

更新符合條件的一筆文件

  • 範例:
collection=db.website
result=collection.update_one({
    "email":"test@test.com"
},{
    "$set":{
        "password":"testtest"
    }
})
#符合篩選條件的文件數量
print(result.matched_count)
#實際完成更新的文件數量
print(result.modified_count)

更新多筆文件的結果

  • 範例:
collection=db.website
result=collection.update_many({
    "email":"test@test.com"
},{
    "$set":{
        "password":"testtest"
    }
})
#符合篩選條件的文件數量
print(result.matched_count)
#實際完成更新的文件數量
print(result.modified_count)

參考文章與網站

澎澎的教學網站
澎澎的yt教學頻道


上一篇
Day 23 MongoDB 取得資料
下一篇
Day 25 MongoDB 刪除資料
系列文
資工琪琪的後端學習筆記(python&flask)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言