mongodb4.0支持事務


事務特性:

原子性:所有的改變都完成
一致性:最終執行結果一致就行
隔離性:一個事務的執行不能其它事務干擾。
持久性:指一個事務一旦提交,數據不會改變,存在數據庫中

exports.getSession = async function() {
return await mongoClient.startSession();
}

//每次開啟事務管理

 

 

https://docs.mongodb.com/manual/core/transactions/

https://mongoosejs.com/docs/api.html#connection_Connection-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();

session.endSession();

參考:https://docs.mongodb.com/manual/core/transactions


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM