Ketika aplikasi atau database tiba-tiba crash antara menerapkan transaksi ke A dan menerapkan transaksi ke B, masih akan ada transaksi dengan state:"pending"
dalam koleksi transaksi global. Skrip pemulihan yang Anda jalankan setelah mogok akan memperhatikan hal ini, periksa kedua akun, dan lihat bahwa ada transaksi yang tertunda di satu akun, tetapi tidak di akun lainnya. Sekarang ia mengetahui semua yang perlu diketahui untuk mengembalikan transaksi atau mencoba menyelesaikannya.
Ya, menulis skrip pemulihan yang secerdas itu tidak mudah. Tetapi transaksi dalam sistem database yang tidak dirancang untuk mereka selalu sulit. Terkadang Anda dapat mengatasi kebutuhan transaksi di MongoDB dengan mendesain dokumen Anda sedemikian rupa sehingga bidang yang perlu diperbarui bersama selalu dalam dokumen yang sama, tetapi tidak selalu ada cara yang waras untuk melakukan ini. Saat kasus penggunaan Anda benar-benar membutuhkan transaksi, lindungi kewarasan Anda dan gunakan database relasional.