我想问下,在uniCloud开发模式下,如果我使用开启了一个事务:
const tx = await db.startTransaction
然后我新增了一些数据:
tx.collection(‘xxx’).add({ code: ‘abc' })
然后在事务提交之前,重新做了查询:
tx.collection(‘xxx’).where({ code: ‘abc' }).count()
貌似无法查询到未提交的数据,这是Bug吗?还是本身设计就是这样?
我想问下,在uniCloud开发模式下,如果我使用开启了一个事务:
const tx = await db.startTransaction
然后我新增了一些数据:
tx.collection(‘xxx’).add({ code: ‘abc' })
然后在事务提交之前,重新做了查询:
tx.collection(‘xxx’).where({ code: ‘abc' }).count()
貌似无法查询到未提交的数据,这是Bug吗?还是本身设计就是这样?
鱼忆科技 (作者)
那我事务提交后要通过db.collection('xxx').where去查数据?通过db能查到未提交事务新增的数据吗?
2021-06-25 10:42
DCloud_uniCloud_WYQ
回复 鱼忆科技: add之后有返回id,应该使用doc(id)查询
2021-06-25 11:21
鱼忆科技 (作者)
回复 DCloud_uniCloud_WYQ: 也就是说即便没提交,也是可以通过doc(id)查到那条数据的是吧
2021-06-25 14:55
DCloud_uniCloud_WYQ
回复 鱼忆科技: tx.collection('xxx').doc().get()
2021-06-25 16:10
鱼忆科技 (作者)
回复 DCloud_uniCloud_WYQ: 那我不通过tx而是通过db.collection('xxx').where().count()能统计到未提交的数据吗?
2021-06-26 23:41
鱼忆科技 (作者)
回复 DCloud_uniCloud_WYQ: 可以通过db的where查到未提交的数据吗?
2021-06-29 11:30