微信小程序云開發(fā)API 更新多條記錄

2022-05-12 16:06 更新

Collection.update / Query.update

更新多條記錄

函數(shù)簽名如下:

function update(options: object): Promise<Result>

參數(shù)說(shuō)明

options 為必填參數(shù),是一個(gè)如下格式的對(duì)象,如傳入 success、fail、complete 三者之一,則表示使用回調(diào)風(fēng)格,不返回 Promise。

字段名類型必填默認(rèn)值說(shuō)明
dataObject更新對(duì)象
successFunction成功回調(diào),回調(diào)傳入的參數(shù) Result 包含查詢的結(jié)果,Result 定義見下方
failFunction失敗回調(diào)
completeFunction調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

返回值說(shuō)明

如傳入的 options 參數(shù)沒(méi)有 success、fail、complete 字段,則返回一個(gè) Promise,否則不返回任何值。Promise 的 resolve 和 reject的結(jié)果定義如下:

結(jié)果說(shuō)明
resolve新增記錄的結(jié)果,Result 定義見下方
reject失敗原因

Result 說(shuō)明

success 回調(diào)的結(jié)果及 Promise resolve 的結(jié)果 Result 是一個(gè)如下結(jié)構(gòu)的對(duì)象:

字段類型說(shuō)明
statsObject更新結(jié)果的統(tǒng)計(jì),其中包含的字段見下方 stats 的定義

stats 對(duì)象是一個(gè)如下結(jié)構(gòu)的對(duì)象:

字段類型說(shuō)明
updatednumber成功更新的記錄數(shù)量
注:API 調(diào)用成功不一定代表想要更新的記錄已被更新,比如有可能指定的 where 篩選條件只能篩選出 0 條匹配的記錄,所以會(huì)得到更新 API 調(diào)用成功但其實(shí)沒(méi)有記錄被更新的情況,這種情況可以通過(guò) stats.updated 看出來(lái)

示例代碼

更新待辦事項(xiàng),將所有未完待辦事項(xiàng)進(jìn)度加 10:

回調(diào)風(fēng)格

const _ = db.command
db.collection('todos').where({
  done: false  
}).update({
  data: {
    progress: _.inc(10)
  },
  success: console.log,
  fail: console.error
})

Promise 風(fēng)格

const _ = db.command
db.collection('todos').where({
  done: false  
})
.update({
  data: {
    progress: _.inc(10)
  },
})
.then(console.log)
.catch(console.error)
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)