使用doc.update怎样在更新某个Number字段后获取最新的值
发布于 5 年前 作者 gcheng 13280 次浏览 来自 问答
  • 需求的场景描述(希望解决的问题)

我需要生成一个交易订单号,由日期+序列号组成(如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后随即获取更新后的值,而不是更新了多少记录。

1 回复

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

回到顶部