Saat kasus penggunaan Anda memerlukan transaksi yang mencakup banyak dokumen, MongoDB biasanya tidak cocok untuk itu, karena tidak mendukung operasi atom ketika lebih dari satu dokumen terpengaruh.
Solusi yang mungkin adalah komitmen dua fase model.
Ini pada dasarnya berarti bahwa Anda pertama-tama menambahkan deskripsi apa yang ingin Anda lakukan untuk setiap dokumen sebagai bidang tambahan untuk itu. Kemudian Anda melakukan operasi atom pada setiap dokumen yang menerapkan tindakan itu dan menghapus deskripsi. Masing-masing langkah ini dikonfirmasi dengan menanyakan dokumen setelahnya dan setiap langkah transaksi didokumentasikan oleh dokumen ke-3 dalam kumpulan transaksi tertunda tambahan. Ini memungkinkan Anda untuk memeriksa transaksi yang tertunda dan mengembalikannya.
Metode ini sulit diterapkan dan memiliki overhead yang cukup besar. Sebelum Anda menerapkan ini, Anda harus benar-benar mempertimbangkan apakah ada alasan bagus untuk tidak menggunakan sistem database dengan dukungan transaksi asli.