评论

云开发省钱小能手之:更新文档,有则update,没有就insert

云开发和mongo不一样的是,没有upsert功能,即,一次操作更新文档,如果文档存在,就更新,没有则插入。

以前的方案:

let data= {a:1}
let query = {b:2}
let res = await col.where(query).get()
if(res.data.length) await col.update({data})
else await col.add({data})


该方案如果更新1000次,调用次数是2000次;


新方案:

let data = {
a:1
updateTime:Date.now()//一定要加上时间
}
let query = {b:2}
let res = await await col.where(query).update({data})
if(res.stats.updated) { }else await col.add({data})


该方案如果更新1000次,调用次数是1001次;

省钱小能手吧。

最后一次编辑于  2023-11-27  
点赞 1
收藏
评论

1 个评论

  • 杜凡
    杜凡
    2023-12-27

    新方案第6行为什么有两个 await ??

    2023-12-27
    赞同 1
    回复
登录 后发表内容