云开发怎么解决同时修改数据库的问题?

发布于 6 年前作者 vdai11547 次浏览最后编辑 6 年前来自 ask
数据库orders中,有记录
{
  status:1
}
用户修改这条记录
where({
  status:1
 }).update({
  data:{
  status:2
      }
  })
商家修改这条记录
where({
  status:1
 }).update({
  data:{
  status:3
      }
  })
我的需求是用户点击退款后status从1变成2,商家点击接单后status从1变成3,当用户更新完此记录后商家自然也无法修改此记录。
但如果用户和商家同时点击按钮进行数据库修改,那么数据结果不就是不确定的了吗?
云开发如何解决此问题
2 回复
pinggong
pinggong1 楼5 年前

你的代码很正确,大胆地运行你上面的代码,不会出现你说的同时修改的事情,因为不管是哪个后执行,此时where({status:1})这条判断都是“false”