mongo-tx nodejs 的 mongodb 事务处理包开源项目

我要开发同款
匿名用户2017年03月10日
83阅读

技术信息

开源地址
https://github.com/rana/ora
授权协议
MIT

作品详情

一个灵活可扩展的odejs的mogodb事务处理包,支持出错回滚,事务锁,单文档级锁,ODM无关。

import mogoTx from 'mogo-tx'import createMogoModel from 'mogo-tx/lib/implemets/create-mogo-model'import createMogoLock from 'mogo-tx/lib/implemets/create-mogo-lock'cost ruTx = mogoTx({  createModel: createMogoModel({ db: ativeDb }),  createLock: createMogoLock({ db: ativeDb, wait: true }), // wait is true: wait util curret release is release istead of throw a error})await ruTx('some_trasfer', asyc tx => {  cost TxAccouts = tx.wrap('accouts')  cost acc1 = await TxAccouts.fidOe({ame: 'u1'})  cost acc2 = await TxAccouts.fidOe({ame: 'u2'})  await TxAccouts.fidOeAdUpdate({    ame: 'u1',  }, {    $set: {      moey: acc1.moey - 100,    },  })  throw ew Error('Some error cause auto rollback!')  await TxAccouts.fidOeAdUpdate({    ame: 'u2',  }, {    $set: {      moey: acc2.moey + 100,    },  })})

功能介绍

一个灵活可扩展的 nodejs 的 mongodb 事务处理包,支持出错回滚,事务锁,单文档级锁,ODM 无关。 import mongoTx from 'mongo-tx'
import c...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论