0
begin;
let t = create Vertex Ticket set ticketType = "premium"
create edge For from $t to #42:1;
create edge At from $t to #37:0;
create edge Created from #46:1 to $t;
commit;

在上面的批处理脚本中,在创建边缘“已创建”(语句编号:5)时,未找到(删除)记录 #46:1,因此引发异常。在这种情况下如何回滚事务?

PS:我正在使用 orientjs 库

4

1 回答 1

0

在会话中初始化事务,然后进行批量更新(没有开始和提交)并提交或回滚。

try {
  session.begin()
  await session.batch(...)
  session.commit(..)
} catch (e) {
  session.tx().rollback();
}
于 2020-02-14T05:36:09.447 回答