Node.js 节点orm事务:是否可以在一个mysql连接中为所有客户端执行事务?

Node.js 节点orm事务:是否可以在一个mysql连接中为所有客户端执行事务?,node.js,node-mysql,node-orm2,Node.js,Node Mysql,Node Orm2,目前,我只在启动节点应用程序时连接到db一次,然后加载所有模型,然后我的应用程序就可以通过socket.io rpc处理任何请求 我需要实现这样的逻辑——如果客户端执行复杂的请求,并且如果链中至少有一个操作失败——例如——所有sql请求都成功完成,但没有发送带有新密码的电子邮件——回滚所有内容并显示错误 我之所以这样问,是因为我记得——比如在php中,所有进程都有不同的db连接,这就是为什么所有的事务都是独立的,不能交叉,但对于node来说,它只是一个异步请求的进程,理论上可以交叉。这只是我在n

目前,我只在启动节点应用程序时连接到db一次,然后加载所有模型,然后我的应用程序就可以通过socket.io rpc处理任何请求

我需要实现这样的逻辑——如果客户端执行复杂的请求,并且如果链中至少有一个操作失败——例如——所有sql请求都成功完成,但没有发送带有新密码的电子邮件——回滚所有内容并显示错误

我之所以这样问,是因为我记得——比如在php中,所有进程都有不同的db连接,这就是为什么所有的事务都是独立的,不能交叉,但对于node来说,它只是一个异步请求的进程,理论上可以交叉。这只是我在node.js上的第一个应用程序


是否可以为所有客户端建立一个mysql连接,或者我需要连接到mysql,在socket.io中的每个请求中从远程文件检索所有模型?

我不建议从单个连接执行所有操作。Node.js中的一种常见模式是为每个传入请求连接、查询和断开连接。如果您使用请求池,对于大多数用例来说,这应该足够快。

我不建议从单个连接完成所有操作。Node.js中的一种常见模式是为每个传入请求连接、查询和断开连接。如果您使用请求池,这对于大多数用例来说应该足够快。

因此,我必须看到orm具有池和事务支持。。嗯,也许你可以给mysql提些建议?node-orm2没有池支持,正如我从github上的问题中了解到的:(查看sequelize。我从未使用过它,但它确实支持池。sequelize也有同样的问题:(你的意思是sequelize不支持池吗?我链接的文档页面说它支持mysql和postgresql。所以,我必须看到orm支持池和事务..嗯。也许你可以建议一些mysql?node-orm2不支持池,我从github上的问题了解到:(查看sequelize。我从未使用过它,但它确实支持池。sequelize也有同样的问题:(你是说sequelize不支持池吗?我链接的文档页上说它支持mysql和postgresql。)。