Tag: 事务

交易restAPI

我正在一个项目,我需要实现事务回滚PostgreSQL数据库durin REST操作使用Nodejs。 我已经分别为GET,PUT和POST方法实现了事务。 我需要使用交易一次还是我正确的轨道? 在此先感谢您的帮助。 我想确保我的数据库回滚数据,如果需要的话。 我正在使用pg-promise库来获得结果。 db.tx(t => { return t.batch([ t.query('UPDATE users SET active = $1 WHERE id = $2', [true, 123]), t.query('INSERT INTO audit(event, id) VALUES($1, $2)', ['activate', 123]) ]); }) .then(data => { // success; }) .catch(error => { // error; }); 或者,我应该在下面实施方法吗? module.exports = { // if you can run […]

与承诺Knex交易

我得到了正确的结果,实际上,这两个行动正在被视为一个单一的交易单位; 如果一个失败了,两个失败。 在这个代码示例中:我正在做一个事务 (1)插入(2)更新 我接近它的方式是将我的数据库操作嵌套在.then中。 我的问题是,如果这个代码是正确的意外? 我是新承诺和knex。 knex.transaction(function(t) { knex('foo') .transacting(t) .insert({id:"asdfk", username:"barry", email:"barry@bar.com"}) .then(function() { knex('foo') .where('username','=','bob') .update({email:"bob@foo.com"}) .then(t.commit, t.rollback) }) }) .then(function() { // it worked }, function() { // it failed }); 这工作,但我觉得我仍然做错了什么。 寻找意见。

如何实现mongo事务的回滚?

我在mongodb上使用mongoose。 在来自nodejs express服务器的请求和响应中,通常需要通过mongoose进行mongodb的查询。 在许多情况下,如果首先几个查询成功执行并且在事务下全部失败,则可能发生这种情况。 现在我需要将db状态回滚到db的初始状态。 那么我怎样才能有效地在mongodb回滚? 请提供一些合适的参考。

Node.js + MySQL – 处理事务

我正在使用express和node-mysql驱动程序在node.js上构build应用程序。 当我需要进行一系列数据库插入/更新时,我的应用程序中有几个案例。 我希望他们在一个事务中,如果第二个或第三个失败,以前的插入完全回滚。 目前,我这样做的方式是有一种中间件,在请求到达时执行START TRANSACTION 。 在处理请求的过程中,如果发生任何错误,我会捕获此错误,并执行ROLLBACK 。 如果没有错误发生,我发送响应给浏览器之前做一个COMMIT 。 不过,现在我担心,当多个用户同时访问应用程序时,这不起作用,因为如果另一个请求尝试使用START TRANSACTION开始自己的事务,MySQL会强制执行提交! 我目前只使用一个节点的实例,并为所有请求使用一个MySQL连接。 如果我的担忧是有效的,有人能请教我吗?如何获得交易支持?

与Sails.js交易SQL

所以我现在一直在玩NodeJS / Express,我真的想用一个完整的JavaScript栈来重写一个相对较大的项目,看它是如何工作的。 Sails.js似乎是一个REST API的NodeJS后端的一个非常好的select,支持Web套接字,这正是我正在寻找的,但是我正在寻找解决的另一个问题,那就是NodeJS中的事务性SQL。 我在NodeJS方面看到的大多数数据层/ orms在处理MySQL时似乎并不支持事务。 Sails.js(Waterline)提供的ORM似乎也不支持交易,这很奇怪,因为我已经看到了提到它的地方,尽pipe这些评论是相当古老的。 Knex.js支持事务,所以我想知道是否很容易用这个(或者如果Sails.js假设Waterline在核心框架中)replaceORM是Sails.js。 我还想知道,除了书架之外,是否还有一个build立在Knex.js之上的ORM,因为我不是Backbone模型/收集系统的粉丝?