收藏
回答

使用doc.update怎样在更新某个Number字段后获取最新的值

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 需求 客户端 wx59e74c021081f517 2.2.5

- 需求的场景描述(希望解决的问题)

我需要生成一个交易订单号,由日期+序列号组成(如201907120000000001序列号来源seq_orderid.orderid

我在云平台上建立一个collection:'seq_orderid'。

执行:

db.collection('seq_orderid').doc(_id).update({data:{

orderid:command.inc(1)

});

后需要读取并返回最近更新的orderid,必须在一个原子操作内(不能被下一个update请求修改了)。

附:并发环境里,如果update后使用db.collection('seq_orderid').doc(_id).get(),不能保证获取到的orderid就是

command.inc(1) 后的。


- 希望提供的能力

提供锁机制(update和get在一个事务内),或者可以在update后随即获取更新后的值,而不是更新了多少记录。

最后一次编辑于  07-12  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

2 个回答

  • 邓坤力
    邓坤力
    07-12

    感谢反馈,我们后续会考虑加入此 api

    07-12
    赞同 11
    回复 1
    • alenMa
      alenMa
      08-01
      同求此类API,现在开发遇到很多原子性的事件没办法解决,或者先把数组pop操作返回最后一项的值放出来
      08-01
      赞同
      回复