我需要使用'全部或全部'過程寫入兩個不同的mongodb集合。 Fyi我在後端使用NodeJs。交易mongodb
據我所知,MongoDb在涉及單個集合時提供了原子性,但當我們需要將其寫入多個集合時,MongoDb並不提供原子性。
所以我想知道一種模擬這種交易的方式,在nodejs/mongodb爲了避免寫入一個集合,如果其他失敗,也可以做'回滾'的可能性,如果第二個過程失敗。
謝謝你們!
我需要使用'全部或全部'過程寫入兩個不同的mongodb集合。 Fyi我在後端使用NodeJs。交易mongodb
據我所知,MongoDb在涉及單個集合時提供了原子性,但當我們需要將其寫入多個集合時,MongoDb並不提供原子性。
所以我想知道一種模擬這種交易的方式,在nodejs/mongodb爲了避免寫入一個集合,如果其他失敗,也可以做'回滾'的可能性,如果第二個過程失敗。
謝謝你們!
在MongoDB中,您無法完全實現數據庫級別的事務。但是,有一些提供某些交易功能的機制。你可以在中閱讀。
從版本4.0開始,MongoDB將添加對多文檔事務的支持。 MongoDB中的事務將像關係數據庫中的事務一樣。 欲瞭解詳情,請訪問此鏈接: https://www.mongodb.com/blog/post/multi-document-transactions-in-mongodb?jmp=community
謝謝@JustLogin。事實是,我已經閱讀了所有這些文檔,但我想知道是否有另一種方法來模擬它。再次感謝。 – Mochics
@Mochics如果你需要大量的交易,你必須使用另一個數據庫。據我所知,沒有NoSQL DB提供完整的事務支持。 – JustLogin
我只需要在整個平臺的單個操作中進行一次事務處理,而且我無法更改數據庫,因此我擔心我會阻止它。我會嘗試模擬MongoDb提出的兩階段提交,但我不確定它是否真的有效...... – Mochics