W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
更新多條記錄
函數(shù)簽名如下:
function update(options: object): Promise<Result>
參數(shù)說(shuō)明
options 為必填參數(shù),是一個(gè)如下格式的對(duì)象,如傳入 success、fail、complete 三者之一,則表示使用回調(diào)風(fēng)格,不返回 Promise。
字段名 | 類型 | 必填 | 默認(rèn)值 | 說(shuō)明 |
---|---|---|---|---|
data | Object | 是 | 更新對(duì)象 | |
success | Function | 否 | 成功回調(diào),回調(diào)傳入的參數(shù) Result 包含查詢的結(jié)果,Result 定義見下方 | |
fail | Function | 否 | 失敗回調(diào) | |
complete | Function | 否 | 調(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ō)明 |
---|---|---|
stats | Object | 更新結(jié)果的統(tǒng)計(jì),其中包含的字段見下方 stats 的定義 |
stats 對(duì)象是一個(gè)如下結(jié)構(gòu)的對(duì)象:
字段 | 類型 | 說(shuō)明 |
---|---|---|
updated | number | 成功更新的記錄數(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)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: