在MongoDB中,事務回滾是通過使用session
對象來實現的。以下是MongoDB中事務回滾的步驟:
session
對象:使用startSession()
方法創建一個新的session
對象。const session = db.getMongo().startSession();
session
對象的startTransaction()
方法啟動一個事務。session.startTransaction();
db.collection.insertOne({ name: 'John' }, { session });
db.collection.updateOne({ name: 'John' }, { $set: { age: 30 } }, { session });
db.collection.deleteOne({ name: 'John' }, { session });
session
對象的abortTransaction()
方法來回滾事務。session.abortTransaction();
session
對象的commitTransaction()
方法來結束事務。session.commitTransaction();
session.endSession();
請注意,MongoDB的事務功能在副本集和分片集群中可用,并且要求MongoDB服務器版本為4.0及以上。