MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment transférer de l'argent avec MongoDB ?

Lorsque votre cas d'utilisation nécessite des transactions qui s'étendent sur plusieurs documents, MongoDB est généralement un mauvais choix, car il ne prend pas en charge les opérations atomiques lorsque plusieurs documents sont concernés.

Une solution de contournement possible est le two-phase-commit modèle.

Cela signifie essentiellement que vous ajoutez d'abord une description de ce que vous voulez faire à chaque document en tant que champ supplémentaire. Ensuite, vous effectuez une opération atomique sur chaque document qui applique cette action et supprime la description. Chacune de ces étapes est confirmée par une interrogation ultérieure du document et chaque étape de la transaction est documentée par un 3e document dans une collection supplémentaire de transactions en attente. Cela vous permet de vérifier les transactions en attente et de les annuler.

Cette méthode est difficile à mettre en œuvre et a un surcoût considérable. Avant d'implémenter cela, vous devriez vraiment vous demander s'il existe vraiment une bonne raison de ne pas utiliser un système de base de données avec prise en charge native des transactions.