Multi-Document Transaction
MongoDB 🔴 SeniorDéfinition
Transaction ACID qui garantit l'atomicité sur plusieurs documents et collections. Introduite en MongoDB 4.0 pour les replica sets et 4.2 pour les clusters shardes. MongoDB 8.0, disponible en production depuis le 2 octobre 2024, amélioré le throughput général du moteur de stockage sans changer l'API des transactions (startSession/startTransaction/commitTransaction).
Analogie
Un virement bancaire : le débit ET le crédit doivent réussir ensemble, sinon rien ne se passe.
Exemple de code
const session = client.startSession();
session.startTransaction();
await accounts.updateOne(
{ _id: 'A' }, { $inc: { bal: -100 } }, { session }
);
await accounts.updateOne(
{ _id: 'B' }, { $inc: { bal: 100 } }, { session }
);
await session.commitTransaction();
Cas d'usage
Opérations financières ou tout scénario ou plusieurs documents doivent être modifies de façon atomique.
Anti-pattern
Utiliser des transactions pour tout au lieu de profiter du modèle de document embarque de MongoDB.
Termes liés
Sources
Fiche mise à jour le 2026-09-27