Node.js + MySQL - gestion des transactions

Je suis la création d'une application sur node.js à l'aide de l'express, et le nœud-pilote mysql. Il ya un couple de cas dans mon application j'ai besoin de faire une série de base de données insertions/mises à jour. Je veux une opération telle que si la deuxième ou de la troisième échec, le précédent inserts sont annulées complètement.

Actuellement, je suis en train de faire c'est d'avoir une sorte de middleware qui ne un START TRANSACTION lorsqu'une demande arrive. Au cours du traitement de la demande, si une erreur est levée, je rattrape cette erreur, et faire un ROLLBACK. Si aucune erreur ne se produit, je fais un COMMIT avant l'envoi de la réponse au navigateur.

Cependant, je suis préoccupé du fait que cela ne fonctionne pas lorsque plusieurs utilisateurs accèdent à l'application simultanément, que MySQL n'est forcé d'engager si une autre demande essaye de commencer sa propre transaction avec START TRANSACTION! Je suis actuellement en utilisant une seule instance de nœud, et une seule connexion MySQL pour toutes les demandes.

Quelqu'un peut-il svp me conseiller si mes craintes sont légitimes, et comment pourrais-je obtenir dans les opérations de soutien?

source d'informationauteur jeffreyveon