0%

MongoDB如何保证事务

事务是是指一系列操作,全部执行成功则提交,有一个执行失败则全部回滚,这也是事务四大特性(ACID)之一的原子性。至于其他特性,不同的DB都有不同的实现方式。

一、引入

  1. 事务定义

      事务是指由一系列数据库操作组成的一个完整的逻辑过程,这个过程中的所有操作要么都成功,要么都不成功。比如:常见的例子就是银行转账的例子,一次转账操作会包含多个数据库操作,而这些数据库操作需要放到一个事务当中,保证其要么都成功,要么都不成功。

二、MongoDB事务

  1. 语法

    • 获取会话:session = db.getMongo().startSession()
    • 开启事务:session.startTransaction()
    • 获得集合:user = session.getDatabase("study").user
    • 操作文档:user.insert({name:"测试"})
    • 提交事务:session.commitTransaction
    • 回滚事务:session.abortTransaction()
  2. ACID

    • 原子性(Atomicity)
    • 一致性(Consistency)
    • 隔离性(Isolation)
    • 持久性(Durability)

三、实战

四、参考

  1. 参考一
  2. 参考二
  3. 参考三
  4. 参考四
  5. 参考五