我似乎无法在文档中找到有关使用Classes API进行事务处理的任何内容。
有一个Db#begin()
方法可以启动新事务。所以给出下面的代码:
const db = server.use('MyDb');
const transaction = db.begin();
const Product = await transaction.db.class.get('Product');
//Transaction already gets committed to the database here before commit is executed
await Product.create({name: 'Milk', brand: 'Clover'})
transaction.commit()
我原以为交易只会在transaction.commit()
上提交,但会立即提交。我知道db.let()
语法,但上面的内容会更容易使用。
如果您无法在交易中使用Class#create(record)
方法,我就看不到它的价值。这让我相信我错过了一些东西,但是在最后一天我一直在绞尽脑汁。