abortTransaction
定义
abortTransaction
终止多文档事务,并回滚ACID 事务中操作所做的任何数据更改。 也就是说,ACID 事务结束时不保存ACID 事务中操作所做的任何更改。
提示
在
mongosh
中,还可以通过Session.abortTransaction()
辅助方法运行此命令。辅助方法对
mongosh
用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。要运行
abortTransaction
,必须针对admin
数据库运行该命令并在Session()
中运行。
兼容性
此命令可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
注意
所有MongoDB Atlas集群都支持此命令。有关Atlas支持所有命令的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
该命令具有以下语法:
db.adminCommand( { abortTransaction: 1, txnNumber: <long>, writeConcern: <document>, autocommit: false, comment: <any> } )
行为
原子性(Atomicity)
当事务中止时,事务中通过写入进行的所有数据更改都会丢弃且变得不可见,同时事务结束。
安全性
如果以审核方式运行,中止的事务中的操作仍会被审核。