| 创建会话 | db.getMongo().startSession() |
|---|---|
| 开启 | session.startTransaction() |
| 提交/回滚 | commitTransaction / abortTransaction |
| 限制 | 默认事务生命周期 60 秒(transactionLifetimeLimitSeconds) |
mongosh 示例
mongosh 示例
const session = db.getMongo().startSession()
const coll = session.getDatabase("app").orders
session.startTransaction()
coll.insertOne({ _id: 3001, sku: "T-1", qty: 1 })
coll.updateOne({ _id: 3001 }, { $set: { status: "paid" } })
session.commitTransaction()事务持有锁与资源,尽量短小;事务内不建议执行建集合、建索引等 DDL。