收藏
回答

使用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后随即获取更新后的值,而不是更新了多少记录。

回答关注问题邀请回答
收藏

2 个回答

  • 邓坤力
    邓坤力
    2019-07-12

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

    2019-07-12
    有用 1
    回复 2
    • alenMa
      alenMa
      2019-08-01
      同求此类API,现在开发遇到很多原子性的事件没办法解决,或者先把数组pop操作返回最后一项的值放出来
      2019-08-01
      回复
    • 阿康.sol
      阿康.sol
      2023-04-25
      什么时候加入这个API?
      2023-04-25
      回复
  • 小程序@小萝卜报名
    小程序@小萝卜报名
    2021-06-22

    这个是不是现在还没有呀。。。。

    2021-06-22
    有用
    回复
登录 后发表内容