node-orm-transaction:是否可以在一个mysql连接中为所有客户端执行事务?

目前我只连接到数据库一次,当我开始我的节点应用程序,刚刚我加载我的所有模型之后,我的应用程序已准备好通过socket.io rpc处理任何请求。

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

我问,因为我记得 – 例如在PHP中,所有进程与db有不同的连接,这就是为什么所有的转换都是独立的,不能交叉的,但是对于节点来说,它只是一个具有asynchronous请求的进程,理论上可以交叉。 这只是我在node.js上的第一个应用程序。

是否有可能使所有客户端1 MySQL连接,或者我需要连接到MySQL,从socket.io中的每个请求中的远程文件检索所有模型?

我不会build议从一个单一的连接做一切。 这是Node.js中的一个常见模式,用于连接,查询,断开每个传入的请求。 如果您使用请求池,则对于大多数使用情况来说,这应该足够快。