事务特性:
原子性:所有的改变都完成
一致性:最终执行结果一致就行
隔离性:缺乏隔离性导致暂时的不一致
持久性:已存在数据库中
exports.getSession = async function() {
return await mongoClient.startSession();
}
//每次开启事务管理
const session = await db.getSession();
session.startTransaction({
readConcern: {
level: 'snapshot'
},
writeConcern: {
w: 'majority'
}
});
db.collection(this.collecitonName)
.insertOne(doc, {
session
});
回滚:
await session.abortTransaction();
提交:
await session.commitTransaction();