mongo4.0事务使用记录(二):nodejs中的事务使用

本文记录了在Node.js中使用Mongo 4.0事务的实践经验,包括遇到的问题和解决方案。在后端使用Node.js+Express搭建服务器,前端通过接口进行数据操作。文中提到在程序启动时开启session是必要的,使用mongoose进行Mongo连接,并强调事务处理的注意事项,如避免多线程数据录入、处理callback和Model操作时加入session。同时指出Model.save()方法的使用问题,以及事务处理的易错点和建议。
摘要由CSDN通过智能技术生成

这一部分对于别人来说可能很简单,对我来说简直摸索的不要不要,o(╥﹏╥)o
后端服务器使用的是nodejs+express进行搭建,前端通过调用后端接口进行数据的增删改查,使用pm2进行部署。
本来打算每一次请求开启一个mongo连接,开启一个session,但是!!!!!!! 会报错,具体的错误提示我没保留下来,翻译过来的大致意思是,你需要在程序启动时就进行session的开启。
因此只能在入口app.js文件进行总体部署,如下图(PS:太low勿喷):
在这里插入图片描述
我采用mongoose进行mongo连接,个人感觉在事务方面比使用mongo连接更友好一点。
在文件中最好能将异步方法进行同步化,否则会出现:当你要在删除数据后在进行重新录入,结果返回录入成功,但是数据库中该条数据被删掉了的情况。

由于项目原因,具体的代码不方便展示出来,因此我会详细说明下。由于在app.js中将session进行了全局化。在此处我直接使用下面的方法进行代码编写。我感觉使用withTransaction有个好处,不用你自己去进行开启(session.startTransaction())、提交(session.commitTransaction())、回滚(session.abortTransaction()&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值